Initial opendaylight infrastructure commit!!
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / Int64.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 public class Int64 extends AbstractInteger {\r
17 \r
18     private static final QName name = BaseTypes.constructQName("int64");\r
19     private Long defaultValue = null;\r
20     private static final String description = "";\r
21     private static final String reference = "";\r
22 \r
23     public Int64() {\r
24         super(name, description, reference);\r
25     }\r
26 \r
27     public Int64(final Long defaultValue) {\r
28         super(name, description, reference);\r
29         this.defaultValue = defaultValue;\r
30     }\r
31 \r
32     public Int64(final List<RangeConstraint> rangeStatements,\r
33             final Long defaultValue) {\r
34         super(name, description, reference, rangeStatements);\r
35         this.defaultValue = defaultValue;\r
36     }\r
37 \r
38     public Int64(final String units, final Long defaultValue) {\r
39         super(name, description, reference, units);\r
40         this.defaultValue = defaultValue;\r
41     }\r
42 \r
43     public Int64(final List<RangeConstraint> rangeStatements,\r
44             final String units, final Long defaultValue) {\r
45         super(name, description, reference, units, rangeStatements);\r
46         this.defaultValue = defaultValue;\r
47     }\r
48 \r
49     /*\r
50      * (non-Javadoc)\r
51      * \r
52      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
53      */\r
54     @Override\r
55     public IntegerTypeDefinition getBaseType() {\r
56         return this;\r
57     }\r
58 \r
59     /*\r
60      * (non-Javadoc)\r
61      * \r
62      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()\r
63      */\r
64     @Override\r
65     public Object getDefaultValue() {\r
66         return defaultValue;\r
67     }\r
68 \r
69     @Override\r
70     public int hashCode() {\r
71         final int prime = 31;\r
72         int result = super.hashCode();\r
73         result = prime * result\r
74                 + ((defaultValue == null) ? 0 : defaultValue.hashCode());\r
75         return result;\r
76     }\r
77 \r
78     @Override\r
79     public boolean equals(Object obj) {\r
80         if (this == obj) {\r
81             return true;\r
82         }\r
83         if (!super.equals(obj)) {\r
84             return false;\r
85         }\r
86         if (getClass() != obj.getClass()) {\r
87             return false;\r
88         }\r
89         Int64 other = (Int64) obj;\r
90         if (defaultValue == null) {\r
91             if (other.defaultValue != null) {\r
92                 return false;\r
93             }\r
94         } else if (!defaultValue.equals(other.defaultValue)) {\r
95             return false;\r
96         }\r
97         return true;\r
98     }\r
99 \r
100     @Override\r
101     public String toString() {\r
102         StringBuilder builder = new StringBuilder();\r
103         builder.append("Int64 [defaultValue=");\r
104         builder.append(defaultValue);\r
105         builder.append(", AbstractInteger=");\r
106         builder.append(super.toString());\r
107         builder.append("]");\r
108         return builder.toString();\r
109     }\r
110 }\r