Refactored implementation of getBaseType method for yang built-in 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
14 /**
15  * Implementation of Yang uint64 built-in type. <br>
16  * uint64 represents integer values between 0 and 18446744073709551615,
17  * inclusively. The Java counterpart of Yang uint64 built-in type is
18  * {@link BigInteger}.
19  *
20  */
21 public final class Uint64 extends AbstractUnsignedInteger {
22     public static final BigInteger MAX_VALUE = new BigInteger("18446744073709551615");
23     private static Uint64 instance;
24     private static final QName NAME = BaseTypes.constructQName("uint64");
25     private static final String DESCRIPTION = "uint64 represents integer values between 0 and 18446744073709551615, inclusively.";
26
27     private Uint64() {
28         super(NAME, DESCRIPTION, MAX_VALUE, "");
29     }
30
31     public static Uint64 getInstance() {
32         if (instance == null) {
33             instance = new Uint64();
34         }
35         return instance;
36     }
37
38     @Override
39     public Object getDefaultValue() {
40         return null;
41     }
42
43     @Override
44     public String toString() {
45         return "type " + NAME;
46     }
47
48 }