Initial opendaylight infrastructure commit!!
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / IdentityType.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.IdentityTypeDefinition;\r
14 import org.opendaylight.controller.yang.common.QName;\r
15 import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
16 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
17 import org.opendaylight.controller.yang.model.api.Status;\r
18 \r
19 public class IdentityType implements IdentityTypeDefinition {\r
20 \r
21     private final QName name = BaseTypes.constructQName("identity");\r
22     private final SchemaPath path = BaseTypes.schemaPath(name);\r
23     private final String description = "";\r
24     private final String reference = "";\r
25 \r
26     private String units = "";\r
27     private final QName identityName;\r
28 \r
29     public IdentityType(QName identityName) {\r
30         super();\r
31         this.identityName = identityName;\r
32     }\r
33 \r
34     /*\r
35      * (non-Javadoc)\r
36      * \r
37      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
38      */\r
39     @Override\r
40     public IdentityTypeDefinition getBaseType() {\r
41         return this;\r
42     }\r
43 \r
44     /*\r
45      * (non-Javadoc)\r
46      * \r
47      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()\r
48      */\r
49     @Override\r
50     public String getUnits() {\r
51         return units;\r
52     }\r
53 \r
54     /*\r
55      * (non-Javadoc)\r
56      * \r
57      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()\r
58      */\r
59     @Override\r
60     public Object getDefaultValue() {\r
61         return this;\r
62     }\r
63 \r
64     /*\r
65      * (non-Javadoc)\r
66      * \r
67      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()\r
68      */\r
69     @Override\r
70     public QName getQName() {\r
71         // TODO Auto-generated method stub\r
72         return null;\r
73     }\r
74 \r
75     /*\r
76      * (non-Javadoc)\r
77      * \r
78      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()\r
79      */\r
80     @Override\r
81     public SchemaPath getPath() {\r
82         return path;\r
83     }\r
84 \r
85     /*\r
86      * (non-Javadoc)\r
87      * \r
88      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()\r
89      */\r
90     @Override\r
91     public String getDescription() {\r
92         return description;\r
93     }\r
94 \r
95     /*\r
96      * (non-Javadoc)\r
97      * \r
98      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()\r
99      */\r
100     @Override\r
101     public String getReference() {\r
102         return reference;\r
103     }\r
104 \r
105     /*\r
106      * (non-Javadoc)\r
107      * \r
108      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()\r
109      */\r
110     @Override\r
111     public Status getStatus() {\r
112         return Status.CURRENT;\r
113     }\r
114 \r
115     @Override\r
116     public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
117         return Collections.emptyList();\r
118     }\r
119 \r
120     /*\r
121      * (non-Javadoc)\r
122      * \r
123      * @see\r
124      * org.opendaylight.controller.yang.model.base.type.api.IdentityTypeDefinition#getIdentityName\r
125      * ()\r
126      */\r
127     @Override\r
128     public QName getIdentityName() {\r
129         return identityName;\r
130     }\r
131 \r
132     @Override\r
133     public int hashCode() {\r
134         final int prime = 31;\r
135         int result = 1;\r
136         result = prime * result\r
137                 + ((description == null) ? 0 : description.hashCode());\r
138         result = prime * result\r
139                 + ((identityName == null) ? 0 : identityName.hashCode());\r
140         result = prime * result + ((name == null) ? 0 : name.hashCode());\r
141         result = prime * result + ((path == null) ? 0 : path.hashCode());\r
142         result = prime * result\r
143                 + ((reference == null) ? 0 : reference.hashCode());\r
144         result = prime * result + ((units == null) ? 0 : units.hashCode());\r
145         return result;\r
146     }\r
147 \r
148     @Override\r
149     public boolean equals(Object obj) {\r
150         if (this == obj) {\r
151             return true;\r
152         }\r
153         if (obj == null) {\r
154             return false;\r
155         }\r
156         if (getClass() != obj.getClass()) {\r
157             return false;\r
158         }\r
159         IdentityType other = (IdentityType) obj;\r
160         if (description == null) {\r
161             if (other.description != null) {\r
162                 return false;\r
163             }\r
164         } else if (!description.equals(other.description)) {\r
165             return false;\r
166         }\r
167         if (identityName == null) {\r
168             if (other.identityName != null) {\r
169                 return false;\r
170             }\r
171         } else if (!identityName.equals(other.identityName)) {\r
172             return false;\r
173         }\r
174         if (name == null) {\r
175             if (other.name != null) {\r
176                 return false;\r
177             }\r
178         } else if (!name.equals(other.name)) {\r
179             return false;\r
180         }\r
181         if (path == null) {\r
182             if (other.path != null) {\r
183                 return false;\r
184             }\r
185         } else if (!path.equals(other.path)) {\r
186             return false;\r
187         }\r
188         if (reference == null) {\r
189             if (other.reference != null) {\r
190                 return false;\r
191             }\r
192         } else if (!reference.equals(other.reference)) {\r
193             return false;\r
194         }\r
195         if (units == null) {\r
196             if (other.units != null) {\r
197                 return false;\r
198             }\r
199         } else if (!units.equals(other.units)) {\r
200             return false;\r
201         }\r
202         return true;\r
203     }\r
204 \r
205     @Override\r
206     public String toString() {\r
207         StringBuilder builder = new StringBuilder();\r
208         builder.append("IdentityType [name=");\r
209         builder.append(name);\r
210         builder.append(", path=");\r
211         builder.append(path);\r
212         builder.append(", description=");\r
213         builder.append(description);\r
214         builder.append(", reference=");\r
215         builder.append(reference);\r
216         builder.append(", units=");\r
217         builder.append(units);\r
218         builder.append(", identityName=");\r
219         builder.append(identityName);\r
220         builder.append("]");\r
221         return builder.toString();\r
222     }\r
223 }\r