*/
package org.opendaylight.yangtools.yang.model.util.type;
-import java.math.BigInteger;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.common.Uint64;
import org.opendaylight.yangtools.yang.model.api.type.Uint64TypeDefinition;
import org.opendaylight.yangtools.yang.model.util.BaseTypes;
-final class BaseUint64Type extends AbstractUnsignedBaseType<BigInteger, Uint64TypeDefinition>
+final class BaseUint64Type extends AbstractRangeRestrictedBaseType<Uint64TypeDefinition, Uint64>
implements Uint64TypeDefinition {
- static final BaseUint64Type INSTANCE = new BaseUint64Type();
+ static final @NonNull BaseUint64Type INSTANCE = new BaseUint64Type();
private BaseUint64Type() {
- super(BaseTypes.UINT64_QNAME, BigInteger.ZERO, new BigInteger("18446744073709551615"));
+ super(BaseTypes.UINT64_QNAME, Uint64.valueOf(0), Uint64.valueOf("18446744073709551615"));
+ }
+
+ @Override
+ public int hashCode() {
+ return Uint64TypeDefinition.hashCode(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return Uint64TypeDefinition.equals(this, obj);
+ }
+
+ @Override
+ public String toString() {
+ return Uint64TypeDefinition.toString(this);
}
}