Merge "removed dead code that was causing a warning"
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / BinaryType.java
1 /*\r
2   * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3   *\r
4   * This program and the accompanying materials are made available under the\r
5   * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6   * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7   */\r
8 package org.opendaylight.controller.model.util;\r
9 \r
10 import java.util.Collections;\r
11 import java.util.List;\r
12 \r
13 import org.opendaylight.controller.model.api.type.BinaryTypeDefinition;\r
14 import org.opendaylight.controller.model.api.type.LengthConstraint;\r
15 import org.opendaylight.controller.yang.common.QName;\r
16 import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
17 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
18 import org.opendaylight.controller.yang.model.api.Status;\r
19 \r
20 public class BinaryType implements BinaryTypeDefinition {\r
21 \r
22     private final QName name = BaseTypes.constructQName("binary");\r
23     private final SchemaPath path = BaseTypes.schemaPath(name);\r
24     private final String description = "";\r
25     private final String reference = "";\r
26 \r
27     private List<Byte> bytes;\r
28     private final LengthConstraint lengthConstraint;\r
29     private String units = "";\r
30 \r
31     public BinaryType() {\r
32         super();\r
33 \r
34         lengthConstraint = BaseConstraints.lengthConstraint(0L, Long.MAX_VALUE,\r
35                 null, null);\r
36         bytes = Collections.emptyList();\r
37         bytes = Collections.unmodifiableList(bytes);\r
38     }\r
39 \r
40     public BinaryType(final List<Byte> bytes,\r
41             final LengthConstraint lengthConstraint, final String units) {\r
42         super();\r
43         this.bytes = bytes;\r
44         this.lengthConstraint = lengthConstraint;\r
45         this.units = units;\r
46     }\r
47 \r
48     /*\r
49      * (non-Javadoc)\r
50      * \r
51      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
52      */\r
53     @Override\r
54     public BinaryTypeDefinition getBaseType() {\r
55         return this;\r
56     }\r
57 \r
58     /*\r
59      * (non-Javadoc)\r
60      * \r
61      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()\r
62      */\r
63     @Override\r
64     public String getUnits() {\r
65         return units;\r
66     }\r
67 \r
68     /*\r
69      * (non-Javadoc)\r
70      * \r
71      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()\r
72      */\r
73     @Override\r
74     public Object getDefaultValue() {\r
75         return bytes;\r
76     }\r
77 \r
78     /*\r
79      * (non-Javadoc)\r
80      * \r
81      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()\r
82      */\r
83     @Override\r
84     public QName getQName() {\r
85         return name;\r
86     }\r
87 \r
88     /*\r
89      * (non-Javadoc)\r
90      * \r
91      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()\r
92      */\r
93     @Override\r
94     public SchemaPath getPath() {\r
95         return path;\r
96     }\r
97 \r
98     /*\r
99      * (non-Javadoc)\r
100      * \r
101      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()\r
102      */\r
103     @Override\r
104     public String getDescription() {\r
105         return description;\r
106     }\r
107 \r
108     /*\r
109      * (non-Javadoc)\r
110      * \r
111      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()\r
112      */\r
113     @Override\r
114     public String getReference() {\r
115         return reference;\r
116     }\r
117 \r
118     /*\r
119      * (non-Javadoc)\r
120      * \r
121      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()\r
122      */\r
123     @Override\r
124     public Status getStatus() {\r
125         return Status.CURRENT;\r
126     }\r
127 \r
128     /*\r
129      * (non-Javadoc)\r
130      * \r
131      * @see\r
132      * org.opendaylight.controller.yang.model.base.type.api.BinaryTypeDefinition#getLengthConstraint\r
133      * ()\r
134      */\r
135     @Override\r
136     public LengthConstraint getLengthConstraint() {\r
137         return lengthConstraint;\r
138     }\r
139 \r
140     @Override\r
141     public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
142         return Collections.emptyList();\r
143     }\r
144 \r
145     @Override\r
146     public int hashCode() {\r
147         final int prime = 31;\r
148         int result = 1;\r
149         result = prime * result + ((bytes == null) ? 0 : bytes.hashCode());\r
150         result = prime * result\r
151                 + ((description == null) ? 0 : description.hashCode());\r
152         result = prime\r
153                 * result\r
154                 + ((lengthConstraint == null) ? 0 : lengthConstraint.hashCode());\r
155         result = prime * result + ((name == null) ? 0 : name.hashCode());\r
156         result = prime * result + ((path == null) ? 0 : path.hashCode());\r
157         result = prime * result\r
158                 + ((reference == null) ? 0 : reference.hashCode());\r
159         result = prime * result + ((units == null) ? 0 : units.hashCode());\r
160         return result;\r
161     }\r
162 \r
163     @Override\r
164     public boolean equals(Object obj) {\r
165         if (this == obj) {\r
166             return true;\r
167         }\r
168         if (obj == null) {\r
169             return false;\r
170         }\r
171         if (getClass() != obj.getClass()) {\r
172             return false;\r
173         }\r
174         BinaryType other = (BinaryType) obj;\r
175         if (bytes == null) {\r
176             if (other.bytes != null) {\r
177                 return false;\r
178             }\r
179         } else if (!bytes.equals(other.bytes)) {\r
180             return false;\r
181         }\r
182         if (description == null) {\r
183             if (other.description != null) {\r
184                 return false;\r
185             }\r
186         } else if (!description.equals(other.description)) {\r
187             return false;\r
188         }\r
189         if (lengthConstraint == null) {\r
190             if (other.lengthConstraint != null) {\r
191                 return false;\r
192             }\r
193         } else if (!lengthConstraint.equals(other.lengthConstraint)) {\r
194             return false;\r
195         }\r
196         if (name == null) {\r
197             if (other.name != null) {\r
198                 return false;\r
199             }\r
200         } else if (!name.equals(other.name)) {\r
201             return false;\r
202         }\r
203         if (path == null) {\r
204             if (other.path != null) {\r
205                 return false;\r
206             }\r
207         } else if (!path.equals(other.path)) {\r
208             return false;\r
209         }\r
210         if (reference == null) {\r
211             if (other.reference != null) {\r
212                 return false;\r
213             }\r
214         } else if (!reference.equals(other.reference)) {\r
215             return false;\r
216         }\r
217         if (units == null) {\r
218             if (other.units != null) {\r
219                 return false;\r
220             }\r
221         } else if (!units.equals(other.units)) {\r
222             return false;\r
223         }\r
224         return true;\r
225     }\r
226 \r
227     @Override\r
228     public String toString() {\r
229         StringBuilder builder = new StringBuilder();\r
230         builder.append("BinaryType [name=");\r
231         builder.append(name);\r
232         builder.append(", path=");\r
233         builder.append(path);\r
234         builder.append(", description=");\r
235         builder.append(description);\r
236         builder.append(", reference=");\r
237         builder.append(reference);\r
238         builder.append(", bytes=");\r
239         builder.append(bytes);\r
240         builder.append(", lengthConstraint=");\r
241         builder.append(lengthConstraint);\r
242         builder.append(", units=");\r
243         builder.append(units);\r
244         builder.append("]");\r
245         return builder.toString();\r
246     }\r
247 }\r