Remove hashCode()/equals() from SchemaNode implementations 78/87078/8
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Jan 2020 12:11:22 +0000 (13:11 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Jan 2020 16:33:22 +0000 (17:33 +0100)
Most SchemaNode comparisons end up operating on a statement's
SchemaPath, pretending they are equal based on path.

This is not accurate when comparing nodes between SchemaContexts,
as their definition can vary wildly and they cannot be considered
'equal'.

Inter-SchemaContext comparison is all about compatibility and as such
cannot be in terms of equals() contract -- such a compatibility check
is both irreflexive and asymmetric unless the two nodes are completely
compatible.

With the above out of the picture, the definition of comparison
really boils down to a glorified identity check, as SchemaPath is
supposed to be unique for a node.

This patch removes most hashCode()/equals() methods, defaulting to
identity. Notable leftovers are Mandatory/Config statements and
TypeDefinitions (which are DocumentedNodes, but the point is pretty
much the same).

JIRA: YANGTOOLS-761
Change-Id: I8162b2b121f611bc128fbbcea3cef7921f25eb72
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
29 files changed:
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlSchemaLocationEffectiveStatementImpl.java
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java
yang/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveOperationContainerSchemaNode.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveOperationDefinition.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anydata/AnydataEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anyxml/AnyxmlEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/bit/BitEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/CaseEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ChoiceEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/container/ContainerEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/DeviateEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/FeatureEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractLeafListEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/must/MustEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/NotificationEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionEffectiveStatementImpl.java

index 8b8dc70a864bdbf023e868cf5e82c4f66b34a66b..510e24b6456520c68442ff4da99da48553fc15bb 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.odlext.parser;
 
 import com.google.common.annotations.VisibleForTesting;
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationEffectiveStatement;
 import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationStatement;
@@ -40,30 +39,4 @@ public final class AnyxmlSchemaLocationEffectiveStatementImpl
     public @NonNull 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());
-    }
 }
index 63940206deb9e0da93e465382a1f077dd9fdc8ed..c1c5c0792465aa8decbe4acd9b4e19397ec10c46 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.odlext.parser;
 import static java.util.Objects.requireNonNull;
 
 import java.util.Collection;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode;
@@ -114,31 +113,6 @@ final class YangModeledAnyxmlEffectiveStatementImpl
         return delegateSchemaNode().getUnknownSchemaNodes();
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-
-        YangModeledAnyxmlEffectiveStatementImpl other = (YangModeledAnyxmlEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return YangModeledAnyxmlEffectiveStatementImpl.class.getSimpleName() + "["
index 9d1cacbe26e01525897231a2148d79a7610fa0da..a3fc63614b38ba21c6d67f34b4965521ae184cf3 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.rfc8040.parser;
 import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Verify;
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.rfc8040.model.api.YangDataEffectiveStatement;
 import org.opendaylight.yangtools.rfc8040.model.api.YangDataSchemaNode;
@@ -71,25 +70,6 @@ final class YangDataEffectiveStatementImpl extends UnknownEffectiveStatementBase
         return (ContainerSchemaNode) container;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(maybeQNameArgument, path);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-
-        if (!(obj instanceof YangDataEffectiveStatementImpl)) {
-            return false;
-        }
-
-        final YangDataEffectiveStatementImpl other = (YangDataEffectiveStatementImpl) obj;
-        return Objects.equals(maybeQNameArgument, other.maybeQNameArgument) && Objects.equals(path, other.path);
-    }
-
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this).omitNullValues()
index dbc862152b85ba498ce030143e922acb6f5176f5..f16d6afaace8152a6cac69300c7369027d44bd0b 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.openconfig.stmt;
 
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.SemVer;
 import org.opendaylight.yangtools.openconfig.model.api.OpenConfigVersionEffectiveStatement;
@@ -37,22 +36,4 @@ final class OpenConfigVersionEffectiveStatementImpl extends
     public SchemaPath getPath() {
         return path;
     }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(path, getNodeType(), getNodeParameter());
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof OpenConfigVersionEffectiveStatementImpl)) {
-            return false;
-        }
-        final OpenConfigVersionEffectiveStatementImpl other = (OpenConfigVersionEffectiveStatementImpl) obj;
-        return Objects.equals(path, other.path) && Objects.equals(getNodeType(), other.getNodeType())
-                && Objects.equals(getNodeParameter(), other.getNodeParameter());
-    }
 }
index 56e2e141bd94000ac0609bc9e0fa5f98f2f37ac9..3f72aad3f9aea9acd3e4d96f75b3e8ab82211c1f 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableSet;
 import java.util.Collection;
-import java.util.Objects;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
@@ -41,23 +40,6 @@ public abstract class AbstractEffectiveOperationContainerSchemaNode<D extends De
         return false;
     }
 
-    @Override
-    public final int hashCode() {
-        return Objects.hash(getQName(), getPath());
-    }
-
-    @Override
-    public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null || getClass() != obj.getClass()) {
-            return false;
-        }
-        AbstractEffectiveOperationContainerSchemaNode<?> other = (AbstractEffectiveOperationContainerSchemaNode<?>) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public final String toString() {
         return MoreObjects.toStringHelper(this).add("path", getPath()).toString();
index b3d864f471f9f114d648b50d4252c8c85351a3be..8489d83a29b6f8c6988dd1ff1725d1e4098d7e27 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.base.Verify;
 import com.google.common.collect.ImmutableSet;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
-import java.util.Objects;
 import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
@@ -86,24 +85,6 @@ public abstract class AbstractEffectiveOperationDefinition<D extends DeclaredSta
         return groupings;
     }
 
-    @Override
-    public final int hashCode() {
-        return Objects.hash(getQName(), getPath());
-    }
-
-    @Override
-    public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null || getClass() != obj.getClass()) {
-            return false;
-        }
-        final AbstractEffectiveOperationDefinition<?> other =
-                (AbstractEffectiveOperationDefinition<?>) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public final String toString() {
         return MoreObjects.toStringHelper(this).add("qname", getQName()).add("path", getPath()).add("input", input)
index c0b8d0494837422f3047e5a1481aa91980b67a0e..f78ce1b1256de56a39a421e4f3cf4c469ae06148 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anydata;
 
 import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode;
@@ -59,27 +58,6 @@ final class AnydataEffectiveStatementImpl extends AbstractEffectiveMustConstrain
         return mandatory;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(getQName(),getPath());
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-
-        final AnydataEffectiveStatementImpl other = (AnydataEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this).add("qname", getQName()).add("path", getPath()).toString();
index e0e8bcd56689f01e38f95d67881a643384010151..f604700ec4a504d781400bad7a5e1fe6972f7bb6 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anyxml;
 
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
@@ -41,31 +40,6 @@ final class AnyxmlEffectiveStatementImpl extends AbstractEffectiveMustConstraint
         return Optional.ofNullable(original);
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-
-        AnyxmlEffectiveStatementImpl other = (AnyxmlEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return AnyxmlEffectiveStatementImpl.class.getSimpleName() + "["
index ac6adf8fc5acdd94e3e3959686ff7df79340dfd4..d269b3eca11f0ed1a668c836acf9bef44bd3a8fd 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
 import java.net.URI;
 import java.util.Collection;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
@@ -122,29 +121,6 @@ final class AugmentEffectiveStatementImpl
         return notifications;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 17;
-        int result = 1;
-        result = prime * result + Objects.hashCode(targetPath);
-        result = prime * result + Objects.hashCode(whenCondition);
-        result = prime * result + getChildNodes().hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof AugmentEffectiveStatementImpl)) {
-            return false;
-        }
-        final AugmentEffectiveStatementImpl other = (AugmentEffectiveStatementImpl) obj;
-        return Objects.equals(targetPath, other.targetPath) && Objects.equals(whenCondition, other.whenCondition)
-                && getChildNodes().equals(other.getChildNodes());
-    }
-
     @Override
     public String toString() {
         return AugmentEffectiveStatementImpl.class.getSimpleName() + "[" + "targetPath=" + targetPath + ", when="
index aa3d46e0d4a65e445fc591f599debee71e450551..1e62d37c680dac863baa32b8f673b43d026d501d 100644 (file)
@@ -7,14 +7,12 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.bit;
 
-import java.util.Objects;
 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.BitEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveDocumentedNode;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
@@ -58,32 +56,6 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented
         return schemaPath;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + qname.hashCode();
-        result = prime * result + schemaPath.hashCode();
-        result = prime * result + Objects.hashCode(declaredPosition);
-        result = prime * result + getUnknownSchemaNodes().hashCode();
-        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;
-        }
-        final BitsTypeDefinition.Bit other = (BitsTypeDefinition.Bit) obj;
-        return Objects.equals(qname, other.getQName()) && Objects.equals(schemaPath, other.getPath());
-    }
-
     @Override
     public String toString() {
         return BitEffectiveStatementImpl.class.getSimpleName() + "[name=" + qname.getLocalName() + ", position="
index 1effe416762e518fe449eee18410bcacad5744d4..175a6d688ffe6840a4f0dd6a20b6923d866bc550 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.case_;
 
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
@@ -44,34 +43,8 @@ final class CaseEffectiveStatementImpl extends AbstractEffectiveSimpleDataNodeCo
         return configuration;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-        CaseEffectiveStatementImpl other = (CaseEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
-        return CaseEffectiveStatementImpl.class.getSimpleName() + "["
-                + "qname=" + getQName()
-                + "]";
+        return CaseEffectiveStatementImpl.class.getSimpleName() + "[" + "qname=" + getQName() + "]";
     }
 }
index 374ddf1dd75627433b74e458ef73dfa41d405d7a..75cbaab4cdc299c76626d707cdf316e58a580d81 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.ImmutableSortedMap;
 import java.util.Collection;
 import java.util.LinkedHashSet;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import java.util.SortedMap;
@@ -110,34 +109,8 @@ final class ChoiceEffectiveStatementImpl extends AbstractEffectiveDataSchemaNode
         return mandatory;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-        final ChoiceEffectiveStatementImpl other = (ChoiceEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
-        return ChoiceEffectiveStatementImpl.class.getSimpleName() + "["
-                + "qname=" + getQName()
-                + "]";
+        return ChoiceEffectiveStatementImpl.class.getSimpleName() + "[" + "qname=" + getQName() + "]";
     }
 }
index 87f8e3c9bdfb94274ef8c1c0e7006a800409f4c5..da1aa75fcfcb3f2a7f5eaf747abe6e242c82c984 100644 (file)
@@ -11,7 +11,6 @@ import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
@@ -107,30 +106,6 @@ final class ContainerEffectiveStatementImpl
         return findDataSchemaNode(name);
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-        final ContainerEffectiveStatementImpl other = (ContainerEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return "container " + getQName().getLocalName();
index 3c60245fb402e9e598a8b66f62a268d01f0d2789..c3589d70f2da487147247a964170d1a9c4d3b17a 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import java.util.Collection;
-import java.util.Objects;
 import java.util.Set;
 import org.opendaylight.yangtools.util.OptionalBoolean;
 import org.opendaylight.yangtools.yang.model.api.DeviateDefinition;
@@ -115,34 +114,4 @@ final class DeviateEffectiveStatementImpl extends DeclaredEffectiveStatementBase
     public String getDeviatedUnits() {
         return deviatedUnits;
     }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        DeviateEffectiveStatementImpl other = (DeviateEffectiveStatementImpl) obj;
-        return Objects.equals(deviateType, other.deviateType)
-                && deviatedConfig == other.deviatedConfig
-                && Objects.equals(deviatedDefault, other.deviatedDefault)
-                && deviatedMandatory == other.deviatedMandatory
-                && Objects.equals(deviatedMaxElements, other.deviatedMaxElements)
-                && Objects.equals(deviatedMinElements, other.deviatedMinElements)
-                && Objects.equals(deviatedMustDefinitions, other.deviatedMustDefinitions)
-                && Objects.equals(deviatedType, other.deviatedType)
-                && Objects.equals(deviatedUniqueConstraints, other.deviatedUniqueConstraints)
-                && Objects.equals(deviatedUnits, other.deviatedUnits);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(deviateType, deviatedConfig, deviatedDefault, deviatedMandatory, deviatedMaxElements,
-                deviatedMinElements, deviatedMustDefinitions, deviatedType, deviatedUniqueConstraints, deviatedUnits);
-    }
 }
index 63951ecf4157044807112bfcf64627da7ecd5018..bd68596bf1044fd27135accd0a501e020daa24e2 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviation;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.model.api.DeviateDefinition;
@@ -60,26 +59,6 @@ final class DeviationEffectiveStatementImpl
         return unknownSchemaNodes;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(targetPath, deviateDefinitions, nullableDescription(), nullableReference());
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof DeviationEffectiveStatementImpl)) {
-            return false;
-        }
-        final DeviationEffectiveStatementImpl other = (DeviationEffectiveStatementImpl) obj;
-        return Objects.equals(targetPath, other.targetPath)
-                && Objects.equals(deviateDefinitions, other.deviateDefinitions)
-                && Objects.equals(nullableDescription(),  other.nullableDescription())
-                && Objects.equals(nullableReference(), other.nullableReference());
-    }
-
     @Override
     public String toString() {
         return DeviationEffectiveStatementImpl.class.getSimpleName() + "["
index fcbd5391d6f81ec59e14894b7abb6910e0ddf606..0389bf52fca97ec5e1f73f0ba823357aadcab19d 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
 import java.util.ArrayDeque;
 import java.util.Collection;
 import java.util.Deque;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
@@ -142,30 +141,6 @@ final class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumentedN
         return yin;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(qname);
-        result = prime * result + Objects.hashCode(schemaPath);
-        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;
-        }
-        ExtensionEffectiveStatementImpl other = (ExtensionEffectiveStatementImpl) obj;
-        return Objects.equals(qname, other.qname) && Objects.equals(schemaPath, other.schemaPath);
-    }
-
     @Override
     public String toString() {
         if (TOSTRING_DETECTOR.check(this)) {
index 4d3f62d8996026f6b949f9708e2e923bd99e1684..e7d8458fe539676876acd539218c4505859077fc 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
 
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -67,29 +66,4 @@ final class UnrecognizedEffectiveStatementImpl extends UnknownEffectiveStatement
     public SchemaPath getPath() {
         return path;
     }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(maybeQNameArgument);
-        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 instanceof UnrecognizedEffectiveStatementImpl)) {
-            return false;
-        }
-        UnrecognizedEffectiveStatementImpl other = (UnrecognizedEffectiveStatementImpl) obj;
-        return Objects.equals(maybeQNameArgument, other.maybeQNameArgument) && Objects.equals(path, other.path)
-                && Objects.equals(getNodeType(), other.getNodeType())
-                && Objects.equals(getNodeParameter(), other.getNodeParameter());
-    }
 }
index 2d39b45db19316161d2431317f389edb7cceb20d..9fce5a0be1f254497770fdb093add34b8a0e00bb 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.feature;
 
-import java.util.Objects;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
@@ -17,35 +16,10 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 final class FeatureEffectiveStatementImpl extends AbstractEffectiveSchemaNode<FeatureStatement>
         implements FeatureDefinition, FeatureEffectiveStatement {
-
     FeatureEffectiveStatementImpl(final StmtContext<QName, FeatureStatement, ?> ctx) {
         super(ctx);
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-        FeatureEffectiveStatementImpl other = (FeatureEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return FeatureEffectiveStatementImpl.class.getSimpleName() + "[name=" + getQName() + "]";
index 908ad243c73afb0f3a634d092b449e8e2ccdc1bc..38c2cdb2ada1a3dbb822a159d04461ff64316d69 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.grouping;
 
 import com.google.common.collect.ImmutableSet;
-import java.util.Objects;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -83,30 +82,6 @@ final class GroupingEffectiveStatementImpl
         return notifications;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(qname);
-        result = prime * result + Objects.hashCode(path);
-        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;
-        }
-        final GroupingEffectiveStatementImpl other = (GroupingEffectiveStatementImpl) obj;
-        return Objects.equals(qname, other.qname) && Objects.equals(path, other.path);
-    }
-
     @Override
     public String toString() {
         return GroupingEffectiveStatementImpl.class.getSimpleName() + "[" + "qname=" + qname + "]";
index 0da50e5ed7bc3d46debad6daff1eb70ac637dc2e..23f5472d425832d9c366ef69000f7f783be78533 100644 (file)
@@ -15,7 +15,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -72,30 +71,6 @@ final class IdentityEffectiveStatementImpl extends AbstractEffectiveSchemaNode<I
         return Collections.unmodifiableSet(derivedIdentities);
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        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;
-        }
-        final IdentityEffectiveStatementImpl other = (IdentityEffectiveStatementImpl) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this).add("qname", getQName()).add("path", getPath()).toString();
index a780173b1a1b5fbbc7501d8256a034905042174d..65e8c34c1c254f8198b2dcb0e1610c79111cdcb6 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.import_;
 
 import com.google.common.base.MoreObjects;
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.concepts.SemVer;
 import org.opendaylight.yangtools.yang.common.QNameModule;
@@ -87,29 +86,6 @@ final class ImportEffectiveStatementImpl extends AbstractEffectiveDocumentedNode
         return prefix;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(moduleName, revision, prefix, semVer, nullableDescription(), nullableReference());
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final ImportEffectiveStatementImpl other = (ImportEffectiveStatementImpl) obj;
-        return Objects.equals(moduleName, other.moduleName) && Objects.equals(revision, other.revision)
-                && Objects.equals(semVer, other.semVer) && Objects.equals(prefix, other.prefix)
-                && Objects.equals(nullableDescription(), other.nullableDescription())
-                && Objects.equals(nullableReference(), other.nullableReference());
-    }
-
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this).omitNullValues().add("moduleName", getModuleName())
index bd30991073f0f7fc579ec969b9abfd41c9ec6e4b..8d1ea3b612f4c3e77c0bdf65b300d934e960c950 100644 (file)
@@ -11,7 +11,6 @@ import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
@@ -89,27 +88,6 @@ abstract class AbstractLeafListEffectiveStatement
         return userOrdered();
     }
 
-    @Override
-    public final int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        return result;
-    }
-
-    @Override
-    public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof AbstractLeafListEffectiveStatement)) {
-            return false;
-        }
-        final AbstractLeafListEffectiveStatement other = (AbstractLeafListEffectiveStatement) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public final String toString() {
         return getClass().getSimpleName() + "[" + getQName() + "]";
index 4263f58a27a9509324d88cd60b0ca84003c24071..286b3028b5734eec2b7878ace636465bdd2f1935 100644 (file)
@@ -13,7 +13,6 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.collect.ImmutableList;
 import java.util.Collection;
 import java.util.List;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -113,27 +112,6 @@ abstract class AbstractListEffectiveStatement
                 .collect(ImmutableList.toImmutableList());
     }
 
-    @Override
-    public final int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(getQName());
-        result = prime * result + Objects.hashCode(getPath());
-        return result;
-    }
-
-    @Override
-    public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof AbstractListEffectiveStatement)) {
-            return false;
-        }
-        final AbstractListEffectiveStatement other = (AbstractListEffectiveStatement) obj;
-        return Objects.equals(getQName(), other.getQName()) && Objects.equals(getPath(), other.getPath());
-    }
-
     @Override
     public final String toString() {
         return "list " + getQName().getLocalName();
index ad883e20a6a83fd17cc011a6d07549bbd12ab461..9e4df502fb8f94efb002813a715525f3ec0505d3 100644 (file)
@@ -15,7 +15,6 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -146,22 +145,4 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleS
         }
         return super.getNamespaceContents(namespace);
     }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(getName(), getYangVersion(), qnameModule);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof ModuleEffectiveStatementImpl)) {
-            return false;
-        }
-        ModuleEffectiveStatementImpl other = (ModuleEffectiveStatementImpl) obj;
-        return Objects.equals(getName(), other.getName()) && qnameModule.equals(other.qnameModule)
-                && Objects.equals(getYangVersion(), other.getYangVersion());
-    }
 }
index d5fdbe8d6f0f3140ac45c04ead7a0ebd6ab0b02d..abbe9c4d5b2fdf689a8b7123d4de8007e94df046 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.must;
 
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.model.api.MustDefinition;
 import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
@@ -63,24 +62,6 @@ final class MustEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Re
         return Optional.ofNullable(reference);
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(xpath, description, reference);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof MustEffectiveStatementImpl)) {
-            return false;
-        }
-        final MustEffectiveStatementImpl other = (MustEffectiveStatementImpl) obj;
-        return Objects.equals(xpath, other.xpath) && Objects.equals(description, other.description)
-                && Objects.equals(reference, other.reference);
-    }
-
     @Override
     public String toString() {
         return xpath.getOriginalString();
index b80fe4d5b701b12c4d60bff635128b3dbefc385c..631bbbcc3e41ce609c7727a3ec5e58338c67c01f 100644 (file)
@@ -12,7 +12,6 @@ import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.Collection;
 import java.util.LinkedHashSet;
-import java.util.Objects;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -110,30 +109,6 @@ final class NotificationEffectiveStatementImpl
         return addedByUses;
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(qname);
-        result = prime * result + Objects.hashCode(path);
-        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;
-        }
-        final NotificationEffectiveStatementImpl other = (NotificationEffectiveStatementImpl) obj;
-        return Objects.equals(qname, other.qname) && Objects.equals(path, other.path);
-    }
-
     @Override
     public String toString() {
         return NotificationEffectiveStatementImpl.class.getSimpleName() + "[qname=" + qname + ", path=" + path + "]";
index 90edc788679f0b4922332fcf3193b458723d0b6f..594ec2d5cd48be403d6aaf6cc2b9c337189c63e4 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import java.util.HashSet;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
@@ -95,24 +94,6 @@ final class SubmoduleEffectiveStatementImpl extends AbstractEffectiveModule<Subm
         return submodules;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(getName(), getYangVersion(), qnameModule);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof SubmoduleEffectiveStatementImpl)) {
-            return false;
-        }
-        final SubmoduleEffectiveStatementImpl other = (SubmoduleEffectiveStatementImpl) obj;
-        return Objects.equals(getName(), other.getName()) && qnameModule.equals(other.qnameModule)
-                && Objects.equals(getYangVersion(), other.getYangVersion());
-    }
-
     @Override
     public void seal() {
         if (!sealed) {
index 3bb0b1f8b585f1239658533a094617aebc54e0ba..cd927bad8bc25387f844427252b8c0116e7a215c 100644 (file)
@@ -13,7 +13,6 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
@@ -108,30 +107,6 @@ final class UsesEffectiveStatementImpl extends AbstractEffectiveDocumentedNode<Q
         return Optional.ofNullable(whenCondition);
     }
 
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + Objects.hashCode(groupingPath);
-        result = prime * result + Objects.hashCode(augmentations);
-        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;
-        }
-        final UsesEffectiveStatementImpl other = (UsesEffectiveStatementImpl) obj;
-        return Objects.equals(groupingPath, other.groupingPath) && Objects.equals(augmentations, other.augmentations);
-    }
-
     @Override
     public String toString() {
         return UsesEffectiveStatementImpl.class.getSimpleName() + "[groupingPath=" + groupingPath + "]";
index 76af2f2f7abd56862ed5a6af371810e97dae4a99..0ff21a31aab1911720dc6f75ff319e81cfa16382 100644 (file)
@@ -5,10 +5,8 @@
  * 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.thirdparty.plugin;
 
-import java.util.Objects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -42,33 +40,4 @@ final class ThirdPartyExtensionEffectiveStatementImpl
     public SchemaPath getPath() {
         return path;
     }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(path, getNodeType(), getNodeParameter());
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final ThirdPartyExtensionEffectiveStatementImpl other = (ThirdPartyExtensionEffectiveStatementImpl) obj;
-        if (!Objects.equals(path, other.path)) {
-            return false;
-        }
-        if (!Objects.equals(getNodeType(), other.getNodeType())) {
-            return false;
-        }
-        if (!Objects.equals(getNodeParameter(), other.getNodeParameter())) {
-            return false;
-        }
-        return true;
-    }
 }