X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-model-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fmodel%2Futil%2FAbstractUnsignedInteger.java;h=22f73fcfada4d155ab96be26091deac2961723a0;hb=d911236c08d1b2cba6d65d9954f3ab48cff5f61e;hp=df740b86c11e5d6e2a01fd5844a8adf2da75e6d0;hpb=6fa3ba867b03b2bdba7969bb22be4566a9124399;p=yangtools.git diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractUnsignedInteger.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractUnsignedInteger.java index df740b86c1..22f73fcfad 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractUnsignedInteger.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractUnsignedInteger.java @@ -1,12 +1,16 @@ -/** +/* + * Copyright (c) 2014 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.yangtools.yang.model.util; -import java.util.ArrayList; +import com.google.common.base.Optional; import java.util.Collections; import java.util.List; - +import java.util.Objects; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -29,32 +33,35 @@ import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinit * inclusively. * * + * @deprecated Used only by deprecated {@link Uint8} and friends. */ +@Deprecated abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefinition { + private static final String REFERENCE = "https://tools.ietf.org/html/rfc6020#section-9.2"; + private static final Optional OPT_REF = Optional.of("https://tools.ietf.org/html/rfc6020#section-9.2.4"); private static final long MIN_VALUE = 0; private final QName name; private final SchemaPath path; private final String description; - private static final String REFERENCE = "https://tools.ietf.org/html/rfc6020#section-9.2"; private final String units; private final List rangeStatements; /** + * Construct Unsigned Integer * - * @param name - * @param description - * @param maxRange - * @param units + * @param name Name of type + * @param description Description of type + * @param maxRange Maximum value + * @param units Units */ public AbstractUnsignedInteger(final QName name, final String description, final Number maxRange, final String units) { this.name = name; - this.path = new SchemaPath(Collections.singletonList(name), true); + this.path = SchemaPath.create(true, name); this.description = description; this.units = units; - this.rangeStatements = new ArrayList(); final String rangeDescription = "Integer values between " + MIN_VALUE + " and " + maxRange + ", inclusively."; - this.rangeStatements.add(BaseConstraints.rangeConstraint(MIN_VALUE, maxRange, rangeDescription, - "https://tools.ietf.org/html/rfc6020#section-9.2.4")); + this.rangeStatements = Collections.singletonList(BaseConstraints.newRangeConstraint(MIN_VALUE, maxRange, + Optional.of(rangeDescription), OPT_REF)); } @Override @@ -106,16 +113,16 @@ abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefinition public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((description == null) ? 0 : description.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((path == null) ? 0 : path.hashCode()); - result = prime * result + ((rangeStatements == null) ? 0 : rangeStatements.hashCode()); - result = prime * result + ((units == null) ? 0 : units.hashCode()); + result = prime * result + Objects.hashCode(description); + result = prime * result + Objects.hashCode(name); + result = prime * result + Objects.hashCode(path); + result = prime * result + Objects.hashCode(rangeStatements); + result = prime * result + Objects.hashCode(units); return result; } @Override - public boolean equals(Object obj) { + public boolean equals(final Object obj) { if (this == obj) { return true; } @@ -126,39 +133,19 @@ abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefinition return false; } AbstractUnsignedInteger other = (AbstractUnsignedInteger) obj; - if (description == null) { - if (other.description != null) { - return false; - } - } else if (!description.equals(other.description)) { + if (!Objects.equals(description, other.description)) { return false; } - if (name == null) { - if (other.name != null) { - return false; - } - } else if (!name.equals(other.name)) { + if (!Objects.equals(name, other.name)) { return false; } - if (path == null) { - if (other.path != null) { - return false; - } - } else if (!path.equals(other.path)) { + if (!Objects.equals(path, other.path)) { return false; } - if (rangeStatements == null) { - if (other.rangeStatements != null) { - return false; - } - } else if (!rangeStatements.equals(other.rangeStatements)) { + if (!Objects.equals(rangeStatements, other.rangeStatements)) { return false; } - if (units == null) { - if (other.units != null) { - return false; - } - } else if (!units.equals(other.units)) { + if (!Objects.equals(units, other.units)) { return false; } return true;