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%2FStringType.java;h=984580adc6f98403581c7eb5a4a160ef3bd1027b;hb=refs%2Fchanges%2F65%2F26965%2F3;hp=bad6067a417c65543810ae76ef1610ceea5ae30b;hpb=1bdc29c20e850029a42dd64ece95f0a4330db611;p=yangtools.git diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/StringType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/StringType.java index bad6067a41..984580adc6 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/StringType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/StringType.java @@ -1,16 +1,18 @@ /* - * 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 - */ + * 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.yangtools.yang.model.util; -import java.util.ArrayList; +import com.google.common.base.Optional; + import java.util.Collections; import java.util.List; +import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -24,39 +26,39 @@ import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition; * * @see StringTypeDefinition */ -public final class StringType implements StringTypeDefinition { - private static final StringType INSTANCE = new StringType(); - private final QName name = BaseTypes.constructQName("string"); - private final SchemaPath path = new SchemaPath(Collections.singletonList(name), true); - private final String defaultValue = ""; - private final String description = ""; - private final String reference = ""; +public final class StringType implements StringTypeDefinition, Immutable { + private static final QName NAME = BaseTypes.STRING_QNAME; + private static final SchemaPath PATH = SchemaPath.create(true, NAME); + private static final String DEFAULT_VALUE = ""; + private static final String DESCRIPTION = ""; + private static final String REFERENCE = ""; private final List lengthStatements; private final List patterns; - private final String units = ""; + private static final String UNITS = ""; + + private static final StringType INSTANCE = new StringType(); /** * Default Constructor. */ private StringType() { - final List constraints = new ArrayList(); - constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", "")); - lengthStatements = Collections.unmodifiableList(constraints); + lengthStatements = Collections.singletonList(BaseConstraints.newLengthConstraint(0, Integer.MAX_VALUE, Optional.of(""), Optional.of(""))); patterns = Collections.emptyList(); } - public static StringType getIntance() { + public static StringType getInstance() { return INSTANCE; } /* * (non-Javadoc) * - * @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType() + * @see + * org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType() */ @Override public StringTypeDefinition getBaseType() { - return this; + return null; } /* @@ -66,17 +68,19 @@ public final class StringType implements StringTypeDefinition { */ @Override public String getUnits() { - return units; + return UNITS; } /* * (non-Javadoc) * - * @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue() + * @see + * org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue + * () */ @Override public Object getDefaultValue() { - return defaultValue; + return DEFAULT_VALUE; } /* @@ -86,7 +90,7 @@ public final class StringType implements StringTypeDefinition { */ @Override public QName getQName() { - return name; + return NAME; } /* @@ -96,17 +100,18 @@ public final class StringType implements StringTypeDefinition { */ @Override public SchemaPath getPath() { - return path; + return PATH; } /* * (non-Javadoc) * - * @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription() + * @see + * org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription() */ @Override public String getDescription() { - return description; + return DESCRIPTION; } /* @@ -116,7 +121,7 @@ public final class StringType implements StringTypeDefinition { */ @Override public String getReference() { - return reference; + return REFERENCE; } /* @@ -137,7 +142,7 @@ public final class StringType implements StringTypeDefinition { * () */ @Override - public List getLengthStatements() { + public List getLengthConstraints() { return lengthStatements; } @@ -148,7 +153,7 @@ public final class StringType implements StringTypeDefinition { * com.csico.yang.model.base.type.api.StringTypeDefinition#getPatterns() */ @Override - public List getPatterns() { + public List getPatternConstraints() { return patterns; } @@ -161,25 +166,15 @@ public final class StringType implements StringTypeDefinition { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result - + ((defaultValue == null) ? 0 : defaultValue.hashCode()); - result = prime * result - + ((description == null) ? 0 : description.hashCode()); - result = prime - * result - + ((lengthStatements == null) ? 0 : lengthStatements.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((path == null) ? 0 : path.hashCode()); - result = prime * result - + ((patterns == null) ? 0 : patterns.hashCode()); - result = prime * result - + ((reference == null) ? 0 : reference.hashCode()); - result = prime * result + ((units == null) ? 0 : units.hashCode()); + result = prime * result + ((lengthStatements == null) ? 0 : lengthStatements.hashCode()); + result = prime * result + NAME.hashCode(); + result = prime * result + PATH.hashCode(); + result = prime * result + ((patterns == null) ? 0 : patterns.hashCode()); return result; } @Override - public boolean equals(Object obj) { + public boolean equals(final Object obj) { if (this == obj) { return true; } @@ -190,20 +185,6 @@ public final class StringType implements StringTypeDefinition { return false; } StringType other = (StringType) obj; - if (defaultValue == null) { - if (other.defaultValue != null) { - return false; - } - } else if (!defaultValue.equals(other.defaultValue)) { - return false; - } - if (description == null) { - if (other.description != null) { - return false; - } - } else if (!description.equals(other.description)) { - return false; - } if (lengthStatements == null) { if (other.lengthStatements != null) { return false; @@ -211,22 +192,6 @@ public final class StringType implements StringTypeDefinition { } else if (!lengthStatements.equals(other.lengthStatements)) { return false; } - if (name == null) { - if (other.name != null) { - return false; - } - } else if (!name.equals(other.name)) { - return false; - } - if (path == null) { - if (other.path != null) { - return false; - } - } else if ((path != null) && (other.path != null)) { - if (!path.getPath().equals(other.path.getPath())) { - return false; - } - } if (patterns == null) { if (other.patterns != null) { return false; @@ -234,20 +199,6 @@ public final class StringType implements StringTypeDefinition { } else if (!patterns.equals(other.patterns)) { return false; } - if (reference == null) { - if (other.reference != null) { - return false; - } - } else if (!reference.equals(other.reference)) { - return false; - } - if (units == null) { - if (other.units != null) { - return false; - } - } else if (!units.equals(other.units)) { - return false; - } return true; } @@ -255,21 +206,21 @@ public final class StringType implements StringTypeDefinition { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("StringType [name="); - builder.append(name); + builder.append(NAME); builder.append(", path="); - builder.append(path); + builder.append(PATH); builder.append(", defaultValue="); - builder.append(defaultValue); + builder.append(DEFAULT_VALUE); builder.append(", description="); - builder.append(description); + builder.append(DESCRIPTION); builder.append(", reference="); - builder.append(reference); + builder.append(REFERENCE); builder.append(", lengthStatements="); builder.append(lengthStatements); builder.append(", patterns="); builder.append(patterns); builder.append(", units="); - builder.append(units); + builder.append(UNITS); builder.append("]"); return builder.toString(); }