X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-model-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fmodel%2Fapi%2Ftype%2FStringTypeDefinition.java;h=f4bbffa909ec49c5176657135d70778c8d0bcb15;hb=19efe56f8f20f5692a100e765a581fbc8f0b4aca;hp=b8fcb0b4e4b330274236dde93322f3602c7d09a8;hpb=fe5a0790b82b95332813017eb93492b6b2cbb822;p=yangtools.git
diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/StringTypeDefinition.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/StringTypeDefinition.java
index b8fcb0b4e4..f4bbffa909 100644
--- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/StringTypeDefinition.java
+++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/StringTypeDefinition.java
@@ -8,31 +8,40 @@
package org.opendaylight.yangtools.yang.model.api.type;
import java.util.List;
-
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+import java.util.Objects;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
/**
- *
- * Contains method for getting data from the string
YANG built-in
- * type.
+ * Contains method for getting data from the string
YANG built-in type.
*/
-public interface StringTypeDefinition extends TypeDefinition {
-
- /**
- * Returns length constraint specified in the string.
- *
- * @return list of length constraint which are specified in the
- * lenght
substatement of the type
- * statement
- */
- List getLengthConstraints();
-
+public interface StringTypeDefinition extends LengthRestrictedTypeDefinition {
/**
* Returns patterns specified in the string.
- *
- * @return list of pattern constraints which are specified in the
- * pattern
substatement of the type
+ *
+ * @return list of pattern constraints which are specified in the {@code pattern} substatement of the {@code type}
* statement
*/
- List getPatternConstraints();
+ @NonNull List getPatternConstraints();
+
+ static int hashCode(final @NonNull StringTypeDefinition type) {
+ return Objects.hash(type.getPath(), type.getUnknownSchemaNodes(), type.getBaseType(),
+ type.getUnits().orElse(null), type.getDefaultValue().orElse(null), type.getLengthConstraint().orElse(null),
+ type.getPatternConstraints());
+ }
+
+ static boolean equals(final @NonNull StringTypeDefinition type, final @Nullable Object obj) {
+ if (type == obj) {
+ return true;
+ }
+
+ final StringTypeDefinition other = TypeDefinitions.castIfEquals(StringTypeDefinition.class, type, obj);
+ return other != null && type.getLengthConstraint().equals(other.getLengthConstraint())
+ && type.getPatternConstraints().equals(other.getPatternConstraints());
+ }
+
+ static String toString(final @NonNull StringTypeDefinition type) {
+ return TypeDefinitions.toStringHelper(type).add("length", type.getLengthConstraint().orElse(null))
+ .add("patterns", type.getPatternConstraints()).toString();
+ }
}