Mark AD-SAL interfaces as deprecated
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / match / extensible / DlVlan.java
1 package org.opendaylight.controller.sal.match.extensible;
2
3 import javax.xml.bind.annotation.XmlAccessType;
4 import javax.xml.bind.annotation.XmlAccessorType;
5 import javax.xml.bind.annotation.XmlElement;
6 import javax.xml.bind.annotation.XmlRootElement;
7
8
9 @XmlRootElement
10 @XmlAccessorType(XmlAccessType.NONE)
11 @Deprecated
12 public class DlVlan extends MatchField<Short> {
13     private static final long serialVersionUID = 1L;
14     public static final String TYPE = "DL_VLAN";
15     private static final short MAX = 4095;
16     private short vlan;
17
18     /**
19      * Creates a Match field for the data layer type
20      *
21      * @param address
22      *            the data layer type
23      */
24     public DlVlan(short vlan) {
25         super(TYPE);
26         this.vlan = vlan;
27     }
28
29     // To satisfy JAXB
30     private DlVlan() {
31         super(TYPE);
32     }
33
34     @Override
35     public Short getValue() {
36         return vlan;
37     }
38
39     @Override
40     @XmlElement(name = "value")
41     protected String getValueString() {
42         return String.valueOf(vlan);
43     }
44
45     @Override
46     public Short getMask() {
47         return null;
48     }
49
50     @Override
51     protected String getMaskString() {
52         return null;
53     }
54
55     @Override
56     public boolean isValid() {
57         return vlan >= 0 && vlan <= MAX;
58     }
59
60     @Override
61     public DlVlan getReverse() {
62         return this.clone();
63     }
64
65     @Override
66     public boolean hasReverse() {
67         return false;
68     }
69
70     @Override
71     public DlVlan clone() {
72         return new DlVlan(vlan);
73     }
74
75     @Override
76     public boolean isV6() {
77         return true;
78     }
79
80     @Override
81     public int hashCode() {
82         final int prime = 31;
83         int result = 1;
84         result = prime * result + vlan;
85         return result;
86     }
87
88     @Override
89     public boolean equals(Object obj) {
90         if (this == obj) {
91             return true;
92         }
93         if (obj == null) {
94             return false;
95         }
96         if (!(obj instanceof DlVlan)) {
97             return false;
98         }
99         DlVlan other = (DlVlan) obj;
100         if (vlan != other.vlan) {
101             return false;
102         }
103         return true;
104     }
105 }