Updated YANG Type definitions and documentation in YANG Model Utils.
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / Int32.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.List;\r
11 \r
12 import org.opendaylight.controller.model.api.type.IntegerTypeDefinition;\r
13 import org.opendaylight.controller.model.api.type.RangeConstraint;\r
14 import org.opendaylight.controller.yang.common.QName;\r
15 \r
16 /**\r
17  * Implementation of Yang int32 built-in type. <br>\r
18  * int32 represents integer values between -2147483648 and 2147483647,\r
19  * inclusively. The Java counterpart of Yang int32 built-in type is\r
20  * {@link Integer}.\r
21  * \r
22  * @see AbstractSignedInteger\r
23  * \r
24  */\r
25 public class Int32 extends AbstractSignedInteger {\r
26 \r
27     private static final QName name = BaseTypes.constructQName("int32");\r
28     private Integer defaultValue = null;\r
29     private static final String description = \r
30             "int32  represents integer values between -2147483648 and 2147483647, inclusively.";\r
31 \r
32     public Int32() {\r
33         super(name, description, Integer.MIN_VALUE, Integer.MAX_VALUE, "");\r
34     }\r
35 \r
36     public Int32(final Integer defaultValue) {\r
37         super(name, description, Integer.MIN_VALUE, Integer.MAX_VALUE, "");\r
38         this.defaultValue = defaultValue;\r
39     }\r
40 \r
41     public Int32(final List<RangeConstraint> rangeStatements,\r
42             final String units, final Integer defaultValue) {\r
43         super(name, description, rangeStatements, units);\r
44         this.defaultValue = defaultValue;\r
45     }\r
46 \r
47     /*\r
48      * (non-Javadoc)\r
49      * \r
50      * @see\r
51      * org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
52      */\r
53     @Override\r
54     public IntegerTypeDefinition getBaseType() {\r
55         return this;\r
56     }\r
57 \r
58     /*\r
59      * (non-Javadoc)\r
60      * \r
61      * @see\r
62      * org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue\r
63      * ()\r
64      */\r
65     @Override\r
66     public Object getDefaultValue() {\r
67         return defaultValue;\r
68     }\r
69 \r
70     @Override\r
71     public int hashCode() {\r
72         final int prime = 31;\r
73         int result = super.hashCode();\r
74         result = prime * result\r
75                 + ((defaultValue == null) ? 0 : defaultValue.hashCode());\r
76         return result;\r
77     }\r
78 \r
79     @Override\r
80     public boolean equals(Object obj) {\r
81         if (this == obj) {\r
82             return true;\r
83         }\r
84         if (!super.equals(obj)) {\r
85             return false;\r
86         }\r
87         if (getClass() != obj.getClass()) {\r
88             return false;\r
89         }\r
90         Int32 other = (Int32) obj;\r
91         if (defaultValue == null) {\r
92             if (other.defaultValue != null) {\r
93                 return false;\r
94             }\r
95         } else if (!defaultValue.equals(other.defaultValue)) {\r
96             return false;\r
97         }\r
98         return true;\r
99     }\r
100 \r
101     @Override\r
102     public String toString() {\r
103         StringBuilder builder = new StringBuilder();\r
104         builder.append("Int32 [defaultValue=");\r
105         builder.append(defaultValue);\r
106         builder.append(", AbstractInteger=");\r
107         builder.append(super.toString());\r
108         builder.append("]");\r
109         return builder.toString();\r
110     }\r
111 }\r