sort out signature of extraceField method
[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.Iterator;
14 import java.util.List;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlElement;
18 import javax.xml.bind.annotation.XmlRootElement;
19
20 @XmlRootElement
21 @XmlAccessorType(XmlAccessType.NONE)
22 public class NeutronQosPolicy extends NeutronObject<NeutronQosPolicy>
23         implements Serializable, INeutronObject<NeutronQosPolicy> {
24     private static final long serialVersionUID = 1L;
25
26     @XmlElement(name = "name")
27     String name;
28
29     @XmlElement(defaultValue = "false", name = "shared")
30     Boolean shared;
31
32     @XmlElement(name = "bandwidth_limit_rules")
33     List<NeutronQosBandwidthRule> bwLimitRules;
34
35     @XmlElement(name = "dscp_marking_rules")
36     List<NeutronQosDscpMarkingRule> dscpRules;
37
38     public String getQosPolicyName() {
39         return name;
40     }
41
42     public void setQosPolicyName(String qosPolicyName) {
43         this.name = qosPolicyName;
44     }
45
46     public Boolean getPolicyIsShared() {
47         return shared;
48     }
49
50     public void setPolicyIsShared(Boolean qosPolicyIsShared) {
51         this.shared = qosPolicyIsShared;
52     }
53
54     public List<NeutronQosBandwidthRule> getBwLimitRules() {
55         return bwLimitRules;
56     }
57
58     public void setQosBwLimitRules(List<NeutronQosBandwidthRule> qosBwLimitRules) {
59         this.bwLimitRules = qosBwLimitRules;
60     }
61
62     public List<NeutronQosDscpMarkingRule> getDscpRules() {
63         return dscpRules;
64     }
65
66     public void setDscpRules(List<NeutronQosDscpMarkingRule> qosDscpRules) {
67         this.dscpRules = qosDscpRules;
68     }
69
70     public NeutronQosPolicy extractFields(List<String> fields) {
71         NeutronQosPolicy ans = new NeutronQosPolicy();
72         Iterator<String> i = fields.iterator();
73         while (i.hasNext()) {
74             String s = i.next();
75             if (s.equals("id")) {
76                 ans.setID(this.getID());
77             }
78             if (s.equals("tenant_id")) {
79                 ans.setTenantID(this.getTenantID());
80             }
81             if (s.equals("name")) {
82                 ans.setQosPolicyName(this.getQosPolicyName());
83             }
84             if (s.equals("shared")) {
85                 ans.setPolicyIsShared(this.getPolicyIsShared());
86             }
87             if (s.equals("bandwidth_limit_rules")) {
88                 List<NeutronQosBandwidthRule> qosBwRuleList = new ArrayList<>();
89                 qosBwRuleList.addAll(this.getBwLimitRules());
90                 ans.setQosBwLimitRules(qosBwRuleList);
91             }
92             if (s.equals("dscp_marking_rules")) {
93                 List<NeutronQosDscpMarkingRule> qosDscpRuleList = new ArrayList<>();
94                 qosDscpRuleList.addAll(this.getDscpRules());
95                 ans.setDscpRules(qosDscpRuleList);
96             }
97         }
98         return ans;
99     }
100
101     @Override
102     public String toString() {
103         return "NeutronQosPolicy{" + "qosPolicyUUID='" + uuid + '\'' + ", qosPolicyTenantID='" + tenantID + '\''
104                 + ", qosPolicyName='" + name + '\'' + ", qosPolicyIsShared='" + shared + '\'' + ", qosBwLimitRules='"
105                 + bwLimitRules + '\'' + ", qosDscpRules='" + dscpRules + '\'' + '}';
106     }
107 }