Refactor AbstractEffectiveDocumentedNodeWithStatus
[yangtools.git] / yang / odlext-parser-support / src / main / java / org / opendaylight / yangtools / odlext / parser / AnyxmlSchemaLocationEffectiveStatementImpl.java
index 24b3b3428817cb7580ce33b291c7d8af14e1c5e0..935c231aa9f8a3d5051836cc50d033306e2bf240 100644 (file)
@@ -8,12 +8,13 @@
 package org.opendaylight.yangtools.odlext.parser;
 
 import com.google.common.annotations.VisibleForTesting;
-import java.util.Objects;
+import com.google.common.collect.ImmutableList;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationEffectiveStatement;
 import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationStatement;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.UnknownEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@@ -22,48 +23,23 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 public final class AnyxmlSchemaLocationEffectiveStatementImpl
         extends UnknownEffectiveStatementBase<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement>
         implements AnyxmlSchemaLocationEffectiveStatement {
-
     private final @NonNull SchemaPath path;
 
-    AnyxmlSchemaLocationEffectiveStatementImpl(
+    AnyxmlSchemaLocationEffectiveStatementImpl(final AnyxmlSchemaLocationStatement declared,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
             final StmtContext<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement, ?> ctx) {
-        super(ctx);
-        path = ctx.getParentContext().getSchemaPath().get().createChild(getNodeType());
+        super(ctx.coerceStatementArgument(), declared, substatements, ctx);
+        path = ctx.coerceParentContext().getSchemaPath().get().createChild(getNodeType());
     }
 
     @Override
-    public @NonNull QName getQName() {
+    public QName getQName() {
         return getNodeType();
     }
 
     @Override
-    public @NonNull SchemaPath getPath() {
+    @Deprecated
+    public SchemaPath getPath() {
         return path;
     }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(path);
-        result = prime * result + Objects.hashCode(getNodeType());
-        result = prime * result + Objects.hashCode(getNodeParameter());
-        return result;
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        AnyxmlSchemaLocationEffectiveStatementImpl other = (AnyxmlSchemaLocationEffectiveStatementImpl) obj;
-        return Objects.equals(path, other.path) && Objects.equals(getNodeType(), other.getNodeType())
-                && Objects.equals(getNodeParameter(), other.getNodeParameter());
-    }
 }