Merge "Code Clean up: remove type from <>"
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronQosPolicy.java
1 /*
2  * Copyright (c) 2016 Intel Corporation.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.neutron.spi;
10
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;
18
19 @XmlRootElement
20 @XmlAccessorType(XmlAccessType.NONE)
21 public final class NeutronQosPolicy extends NeutronBaseAttributes<NeutronQosPolicy> implements Serializable {
22     private static final long serialVersionUID = 1L;
23
24     @XmlElement(defaultValue = "false", name = "shared")
25     Boolean shared;
26
27     @XmlElement(name = "bandwidth_limit_rules")
28     List<NeutronQosBandwidthRule> bwLimitRules;
29
30     @XmlElement(name = "dscp_marking_rules")
31     List<NeutronQosDscpMarkingRule> dscpRules;
32
33     public Boolean getPolicyIsShared() {
34         return shared;
35     }
36
37     public void setPolicyIsShared(Boolean qosPolicyIsShared) {
38         this.shared = qosPolicyIsShared;
39     }
40
41     public List<NeutronQosBandwidthRule> getBwLimitRules() {
42         return bwLimitRules;
43     }
44
45     public void setQosBwLimitRules(List<NeutronQosBandwidthRule> qosBwLimitRules) {
46         this.bwLimitRules = qosBwLimitRules;
47     }
48
49     public List<NeutronQosDscpMarkingRule> getDscpRules() {
50         return dscpRules;
51     }
52
53     public void setDscpRules(List<NeutronQosDscpMarkingRule> qosDscpRules) {
54         this.dscpRules = qosDscpRules;
55     }
56
57     @Override
58     protected boolean extractField(String field, NeutronQosPolicy ans) {
59         switch (field) {
60             case "shared":
61                 ans.setPolicyIsShared(this.getPolicyIsShared());
62                 break;
63             case "bandwidth_limit_rules":
64                 List<NeutronQosBandwidthRule> qosBwRuleList = new ArrayList<>();
65                 qosBwRuleList.addAll(this.getBwLimitRules());
66                 ans.setQosBwLimitRules(qosBwRuleList);
67                 break;
68             case "dscp_marking_rules":
69                 List<NeutronQosDscpMarkingRule> qosDscpRuleList = new ArrayList<>();
70                 qosDscpRuleList.addAll(this.getDscpRules());
71                 ans.setDscpRules(qosDscpRuleList);
72                 break;
73             default:
74                 return super.extractField(field, ans);
75         }
76         return true;
77     }
78
79     @Override
80     public String toString() {
81         return "NeutronQosPolicy{" + "qosPolicyUUID='" + uuid + '\'' + ", qosPolicyTenantID='" + tenantID + '\''
82                 + ", qosPolicyName='" + name + '\'' + ", qosPolicyIsShared='" + shared + '\'' + ", qosBwLimitRules='"
83                 + bwLimitRules + '\'' + ", qosDscpRules='" + dscpRules + '\'' + '}';
84     }
85 }