Refactored base yang-java types.
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / Uint64.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.yang.model.util;
9
10 import java.math.BigInteger;
11
12 import org.opendaylight.yangtools.yang.common.QName;
13 import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
14
15 /**
16  * Implementation of Yang uint64 built-in type. <br>
17  * uint64 represents integer values between 0 and 18446744073709551615,
18  * inclusively. The Java counterpart of Yang uint64 built-in type is
19  * {@link BigInteger}.
20  *
21  */
22 public final class Uint64 extends AbstractUnsignedInteger {
23     public static final BigInteger MAX_VALUE = new BigInteger("18446744073709551615");
24     private static Uint64 INSTANCE;
25     private static final QName NAME = BaseTypes.constructQName("uint64");
26     private static final String DESCRIPTION = "uint64 represents integer values between 0 and 18446744073709551615, inclusively.";
27
28     private Uint64() {
29         super(NAME, DESCRIPTION, MAX_VALUE, "");
30     }
31
32     public static Uint64 getInstance() {
33         if (INSTANCE == null) {
34             INSTANCE = new Uint64();
35         }
36         return INSTANCE;
37     }
38
39     @Override
40     public UnsignedIntegerTypeDefinition getBaseType() {
41         return this;
42     }
43
44     @Override
45     public Object getDefaultValue() {
46         return null;
47     }
48
49     @Override
50     public String toString() {
51         return "type " + NAME;
52     }
53
54 }