neutron spi: consolidate extractFields() method
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronMeteringLabelRule.java
1 /*
2  * Copyright (c) 2015 IBM Corporation and others.  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 javax.xml.bind.annotation.XmlAccessType;
13 import javax.xml.bind.annotation.XmlAccessorType;
14 import javax.xml.bind.annotation.XmlElement;
15 import javax.xml.bind.annotation.XmlRootElement;
16
17 @XmlRootElement
18 @XmlAccessorType(XmlAccessType.NONE)
19 public final class NeutronMeteringLabelRule extends NeutronObject<NeutronMeteringLabelRule>
20         implements Serializable, INeutronObject<NeutronMeteringLabelRule> {
21     private static final long serialVersionUID = 1L;
22
23     @XmlElement(name = "direction")
24     String meteringLabelRuleDirection;
25
26     @XmlElement(defaultValue = "false", name = "excluded")
27     Boolean meteringLabelRuleExcluded;
28
29     @XmlElement(name = "remote_ip_prefix")
30     String meteringLabelRuleRemoteIpPrefix;
31
32     @XmlElement(name = "metering_label_id")
33     String meteringLabelRuleLabelID;
34
35     /*
36      *  getters and setters
37      */
38
39     public String getMeteringLabelRuleDirection() {
40         return meteringLabelRuleDirection;
41     }
42
43     public void setMeteringLabelRuleDirection(String direction) {
44         this.meteringLabelRuleDirection = direction;
45     }
46
47     public Boolean getMeteringLabelRuleExcluded() {
48         return meteringLabelRuleExcluded;
49     }
50
51     public void setMeteringLabelRuleExcluded(Boolean excluded) {
52         this.meteringLabelRuleExcluded = excluded;
53     }
54
55     public String getMeteringLabelRuleRemoteIpPrefix() {
56         return meteringLabelRuleRemoteIpPrefix;
57     }
58
59     public void setMeteringLabelRuleRemoteIpPrefix(String prefix) {
60         this.meteringLabelRuleRemoteIpPrefix = prefix;
61     }
62
63     public String getMeteringLabelRuleLabelID() {
64         return meteringLabelRuleLabelID;
65     }
66
67     public void setMeteringLabelRuleLabelID(String meteringLabelID) {
68         this.meteringLabelRuleLabelID = meteringLabelID;
69     }
70
71     /*
72      *  constructor
73      */
74     public NeutronMeteringLabelRule() {
75     }
76
77     @Override
78     public String toString() {
79         return "NeutronMeteringLabelRule [id=" + uuid + ", tenantID=" + tenantID + ", direction="
80                 + meteringLabelRuleDirection + ", excluded=" + meteringLabelRuleExcluded + ", remote_ip_prefix="
81                 + meteringLabelRuleRemoteIpPrefix + ", metering_label_id=" + meteringLabelRuleLabelID + "]";
82     }
83
84     @Override
85     protected boolean extractField(String field, NeutronMeteringLabelRule ans) {
86         switch (field) {
87             case "direction":
88                 ans.setMeteringLabelRuleDirection(this.getMeteringLabelRuleDirection());
89                 break;
90             case "excluded":
91                 ans.setMeteringLabelRuleExcluded(this.getMeteringLabelRuleExcluded());
92                 break;
93             case "remote_ip_prefix":
94                 ans.setMeteringLabelRuleRemoteIpPrefix(this.getMeteringLabelRuleRemoteIpPrefix());
95                 break;
96             case "metering_label_id":
97                 ans.setMeteringLabelRuleLabelID(this.getMeteringLabelRuleLabelID());
98                 break;
99             default:
100                 return super.extractField(field, ans);
101         }
102         return true;
103     }
104 }