Remove SchemaPath from TypeDefinition implementations
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / type / AbstractLengthRestrictedType.java
index 2776ba3d868ca1a5e26da44bd2a7617428cfbdea..ee1015f2e156a1d93ae5a53adaae436052f4664e 100644 (file)
@@ -7,26 +7,27 @@
  */
 package org.opendaylight.yangtools.yang.model.util.type;
 
-import com.google.common.collect.ImmutableList;
 import java.util.Collection;
-import java.util.List;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.LengthRestrictedTypeDefinition;
 
 abstract class AbstractLengthRestrictedType<T extends LengthRestrictedTypeDefinition<T>>
         extends AbstractRestrictedType<T> implements LengthRestrictedTypeDefinition<T> {
-    private final List<LengthConstraint> lengthConstraints;
+    private final @Nullable LengthConstraint lengthConstraint;
 
-    AbstractLengthRestrictedType(final T baseType, final SchemaPath path,
-        final Collection<UnknownSchemaNode> unknownSchemaNodes, final Collection<LengthConstraint> lengthConstraints) {
-        super(baseType, path, unknownSchemaNodes);
-        this.lengthConstraints = ImmutableList.copyOf(lengthConstraints);
+    AbstractLengthRestrictedType(final T baseType, final QName qname,
+            final Collection<? extends UnknownSchemaNode> unknownSchemaNodes,
+            final @Nullable LengthConstraint lengthConstraint) {
+        super(baseType, qname, unknownSchemaNodes);
+        this.lengthConstraint = lengthConstraint;
     }
 
     @Override
-    public final List<LengthConstraint> getLengthConstraints() {
-        return lengthConstraints;
+    public final Optional<LengthConstraint> getLengthConstraint() {
+        return Optional.ofNullable(lengthConstraint);
     }
 }