X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fyang%2Fyang-model-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fmodel%2Futil%2FUint32.java;fp=opendaylight%2Fsal%2Fyang-prototype%2Fyang%2Fyang-model-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fmodel%2Futil%2FUint32.java;h=ba2e4ea8d9acc50c7087942cef01fc3780cc5bb7;hb=4ce0f6630bc576b97c8c9a08848aafb6e90a75b0;hp=0000000000000000000000000000000000000000;hpb=c8b79431119d6952b60a092e89727aa648a89bdd;p=controller.git diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/Uint32.java b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/Uint32.java new file mode 100644 index 0000000000..ba2e4ea8d9 --- /dev/null +++ b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/Uint32.java @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.yang.model.util; + +import java.util.List; + +import org.opendaylight.controller.yang.common.QName; +import org.opendaylight.controller.yang.model.api.type.RangeConstraint; +import org.opendaylight.controller.yang.model.api.type.UnsignedIntegerTypeDefinition; + +/** + * Implementation of Yang uint32 built-in type.
+ * uint32 represents integer values between 0 and 4294967295, inclusively. The + * Java counterpart of Yang uint32 built-in type is {@link Long}. + * + */ +public class Uint32 extends AbstractUnsignedInteger { + + private static final QName name = BaseTypes.constructQName("uint32"); + private Long defaultValue = null; + private static final String description = "uint32 represents integer values between 0 and 4294967295, inclusively."; + + public Uint32() { + super(name, description, Short.MIN_VALUE, Short.MAX_VALUE, ""); + } + + public Uint32(final Long defaultValue) { + super(name, description, Short.MIN_VALUE, Short.MAX_VALUE, ""); + this.defaultValue = defaultValue; + } + + public Uint32(final List rangeStatements, + final String units, final Long defaultValue) { + super(name, description, rangeStatements, units); + this.defaultValue = defaultValue; + } + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType() + */ + @Override + public UnsignedIntegerTypeDefinition getBaseType() { + return this; + } + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue + * () + */ + @Override + public Object getDefaultValue() { + return defaultValue; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + + ((defaultValue == null) ? 0 : defaultValue.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Uint32 other = (Uint32) obj; + if (defaultValue == null) { + if (other.defaultValue != null) { + return false; + } + } else if (!defaultValue.equals(other.defaultValue)) { + return false; + } + return true; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("Uint32 [defaultValue="); + builder.append(defaultValue); + builder.append(", AbstractInteger="); + builder.append(super.toString()); + builder.append("]"); + return builder.toString(); + } +}