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.io.Serializable;
12 import java.util.ArrayList;
13 import java.util.List;
14 import javax.xml.bind.annotation.XmlAccessType;
15 import javax.xml.bind.annotation.XmlAccessorType;
16 import javax.xml.bind.annotation.XmlElement;
17 import javax.xml.bind.annotation.XmlRootElement;
20 @XmlAccessorType(XmlAccessType.NONE)
21 public final class NeutronQosPolicy extends NeutronBaseAttributes<NeutronQosPolicy> implements Serializable {
22 private static final long serialVersionUID = 1L;
24 @XmlElement(defaultValue = "false", name = "shared")
27 @XmlElement(name = "bandwidth_limit_rules")
28 List<NeutronQosBandwidthRule> bwLimitRules;
30 @XmlElement(name = "dscp_marking_rules")
31 List<NeutronQosDscpMarkingRule> dscpRules;
33 public Boolean getPolicyIsShared() {
37 public void setPolicyIsShared(Boolean qosPolicyIsShared) {
38 this.shared = qosPolicyIsShared;
41 public List<NeutronQosBandwidthRule> getBwLimitRules() {
45 public void setQosBwLimitRules(List<NeutronQosBandwidthRule> qosBwLimitRules) {
46 this.bwLimitRules = qosBwLimitRules;
49 public List<NeutronQosDscpMarkingRule> getDscpRules() {
53 public void setDscpRules(List<NeutronQosDscpMarkingRule> qosDscpRules) {
54 this.dscpRules = qosDscpRules;
58 protected boolean extractField(String field, NeutronQosPolicy ans) {
61 ans.setPolicyIsShared(this.getPolicyIsShared());
63 case "bandwidth_limit_rules":
64 List<NeutronQosBandwidthRule> qosBwRuleList = new ArrayList<>();
65 qosBwRuleList.addAll(this.getBwLimitRules());
66 ans.setQosBwLimitRules(qosBwRuleList);
68 case "dscp_marking_rules":
69 List<NeutronQosDscpMarkingRule> qosDscpRuleList = new ArrayList<>();
70 qosDscpRuleList.addAll(this.getDscpRules());
71 ans.setDscpRules(qosDscpRuleList);
74 return super.extractField(field, ans);
80 public String toString() {
81 return "NeutronQosPolicy{" + "qosPolicyUUID='" + uuid + '\'' + ", qosPolicyTenantID='" + tenantID + '\''
82 + ", qosPolicyName='" + name + '\'' + ", qosPolicyIsShared='" + shared + '\'' + ", qosBwLimitRules='"
83 + bwLimitRules + '\'' + ", qosDscpRules='" + dscpRules + '\'' + '}';