Remove SchemaPath from TypeDefinition implementations
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / type / RestrictedLeafrefType.java
index e3e159432068c26a1a4590e09c68d9070fd9f070..b4340ba3832a400d304bc9707443fdf5b0bfa2ab 100644 (file)
@@ -8,34 +8,43 @@
 package org.opendaylight.yangtools.yang.model.util.type;
 
 import java.util.Collection;
-import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.PathExpression;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 
-final class RestrictedLeafrefType extends AbstractRestrictedType<LeafrefTypeDefinition> implements LeafrefTypeDefinition {
-    RestrictedLeafrefType(final LeafrefTypeDefinition baseType, final SchemaPath path,
-            final Collection<UnknownSchemaNode> unknownSchemaNodes) {
-        super(baseType, path, unknownSchemaNodes);
+final class RestrictedLeafrefType extends AbstractRestrictedType<LeafrefTypeDefinition>
+        implements LeafrefTypeDefinition {
+    private final boolean requireInstance;
+
+    RestrictedLeafrefType(final LeafrefTypeDefinition baseType, final QName qname,
+            final Collection<? extends UnknownSchemaNode> unknownSchemaNodes, final boolean requireInstance) {
+        super(baseType, qname, unknownSchemaNodes);
+        this.requireInstance = requireInstance;
     }
 
     @Override
-    public RevisionAwareXPath getPathStatement() {
+    public PathExpression getPathStatement() {
         return getBaseType().getPathStatement();
     }
 
+    @Override
+    public boolean requireInstance() {
+        return requireInstance;
+    }
+
     @Override
     public int hashCode() {
-        return TypeDefinitions.hashCode(this);
+        return LeafrefTypeDefinition.hashCode(this);
     }
 
     @Override
     public boolean equals(final Object obj) {
-        return TypeDefinitions.equals(this, obj);
+        return LeafrefTypeDefinition.equals(this, obj);
     }
 
     @Override
     public String toString() {
-        return TypeDefinitions.toString(this);
+        return LeafrefTypeDefinition.toString(this);
     }
 }