2 * Copyright (c) 2016 Intel Corporation. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.neutron.spi;
11 import java.util.ArrayList;
12 import java.util.List;
13 import javax.xml.bind.annotation.XmlAccessType;
14 import javax.xml.bind.annotation.XmlAccessorType;
15 import javax.xml.bind.annotation.XmlElement;
16 import javax.xml.bind.annotation.XmlRootElement;
19 @XmlAccessorType(XmlAccessType.NONE)
20 public final class NeutronQosPolicy extends NeutronBaseAttributes<NeutronQosPolicy> {
21 private static final long serialVersionUID = 1L;
23 @XmlElement(defaultValue = "false", name = "shared")
26 @XmlElement(name = "bandwidth_limit_rules")
27 List<NeutronQosBandwidthLimitRule> bandwidthLimitRules;
29 @XmlElement(name = "dscp_marking_rules")
30 List<NeutronQosDscpMarkingRule> dscpMarkingRules;
32 @XmlElement(name = "minimum_bandwidth_rules")
33 List<NeutronQosMinimumBandwidthRule> minimumBandwidthRules;
35 public Boolean getPolicyIsShared() {
39 public void setPolicyIsShared(Boolean qosPolicyIsShared) {
40 this.shared = qosPolicyIsShared;
43 public List<NeutronQosBandwidthLimitRule> getBandwidthLimitRules() {
44 return bandwidthLimitRules;
47 public void setQosBandwidthLimitRules(List<NeutronQosBandwidthLimitRule> qosBandwidthLimitRules) {
48 this.bandwidthLimitRules = qosBandwidthLimitRules;
51 public List<NeutronQosDscpMarkingRule> getDscpMarkingRules() {
52 return dscpMarkingRules;
55 public void setDscpMarkingRules(List<NeutronQosDscpMarkingRule> qosDscpMarkingRules) {
56 this.dscpMarkingRules = qosDscpMarkingRules;
59 public List<NeutronQosMinimumBandwidthRule> getMinimumBandwidthRules() {
60 return minimumBandwidthRules;
63 public void setMinimumBandwidthRules(List<NeutronQosMinimumBandwidthRule> qosMinimumBandwidthRules) {
64 this.minimumBandwidthRules = qosMinimumBandwidthRules;
68 protected boolean extractField(String field, NeutronQosPolicy ans) {
71 ans.setPolicyIsShared(this.getPolicyIsShared());
73 case "bandwidth_limit_rules":
74 List<NeutronQosBandwidthLimitRule> qosBandwidthRuleList = new ArrayList<>();
75 qosBandwidthRuleList.addAll(this.getBandwidthLimitRules());
76 ans.setQosBandwidthLimitRules(qosBandwidthRuleList);
78 case "dscp_marking_rules":
79 List<NeutronQosDscpMarkingRule> qosDscpMarkingRuleList = new ArrayList<>();
80 qosDscpMarkingRuleList.addAll(this.getDscpMarkingRules());
81 ans.setDscpMarkingRules(qosDscpMarkingRuleList);
83 case "minimum_bandwidth_rules":
84 List<NeutronQosMinimumBandwidthRule> qosMinimumBandwidthRuleList = new ArrayList<>();
85 qosMinimumBandwidthRuleList.addAll(this.getMinimumBandwidthRules());
86 ans.setMinimumBandwidthRules(qosMinimumBandwidthRuleList);
89 return super.extractField(field, ans);
95 public String toString() {
96 return "NeutronQosPolicy{" + "qosPolicyUUID='" + uuid + '\'' + ", qosPolicyTenantID='" + tenantID + '\''
97 + ", qosPolicyName='" + name + '\'' + ", qosPolicyIsShared='" + shared + '\''
98 + ", qosbandwidthLimitRules='" + bandwidthLimitRules + '\'' + ", qosDscpMarkingRules='"
99 + dscpMarkingRules + '\'' + ", qosMinimumBandwidthRules='" + minimumBandwidthRules + '\''