From 4248f4a3b94775cab515f14a63d2331c9be80e9e Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 10 Apr 2022 01:48:37 +0200 Subject: [PATCH] Use instanceof expression for yang-xpath-api equality JDK17 allows us to ditch some amount of verbosity in equals() implementations. Change-Id: I3c2fdf0d688aaad3a04feb2ee4aebc69bbb4a228 Signed-off-by: Robert Varga --- .../yang/xpath/api/BigDecimalNumberExpr.java | 3 +- .../yang/xpath/api/YangBinaryExpr.java | 11 ++----- .../yang/xpath/api/YangFilterExpr.java | 10 ++---- .../yang/xpath/api/YangFunctionCallExpr.java | 10 ++---- .../yang/xpath/api/YangLiteralExpr.java | 2 +- .../yang/xpath/api/YangLocationPath.java | 31 ++++--------------- .../yang/xpath/api/YangNaryExpr.java | 10 ++---- .../yang/xpath/api/YangNegateExpr.java | 2 +- .../yang/xpath/api/YangPathExpr.java | 10 ++---- .../yang/xpath/api/YangQNameExpr.java | 4 +-- .../xpath/api/YangVariableReferenceExpr.java | 3 +- 11 files changed, 22 insertions(+), 74 deletions(-) diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalNumberExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalNumberExpr.java index cc54a44a14..96cfde7f7f 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalNumberExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalNumberExpr.java @@ -42,8 +42,7 @@ final class BigDecimalNumberExpr extends YangNumberExpr { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof BigDecimalNumberExpr - && number.equals(((BigDecimalNumberExpr) obj).number); + return this == obj || obj instanceof BigDecimalNumberExpr other && number.equals(other.number); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryExpr.java index deff33dd38..5b196f4682 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryExpr.java @@ -47,15 +47,8 @@ public abstract sealed class YangBinaryExpr implements YangExpr permits YangBina @Override public final boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangBinaryExpr)) { - return false; - } - final YangBinaryExpr other = (YangBinaryExpr) obj; - return getOperator().equals(other.getOperator()) && leftExpr.equals(other.leftExpr) - && rightExpr.equals(other.rightExpr); + return this == obj || obj instanceof YangBinaryExpr other && getOperator().equals(other.getOperator()) + && leftExpr.equals(other.leftExpr) && rightExpr.equals(other.rightExpr); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFilterExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFilterExpr.java index 8ceaea9899..89ea8a2483 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFilterExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFilterExpr.java @@ -66,14 +66,8 @@ public sealed class YangFilterExpr implements YangExpr, YangPredicateAware { @Override public final boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangFilterExpr)) { - return false; - } - final YangFilterExpr other = (YangFilterExpr) obj; - return expr.equals(((YangFilterExpr) obj).expr) && getPredicates().equals(other.getPredicates()); + return this == obj || obj instanceof YangFilterExpr other + && expr.equals(other.expr) && getPredicates().equals(other.getPredicates()); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFunctionCallExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFunctionCallExpr.java index d3ec795e6d..a7080eb936 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFunctionCallExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangFunctionCallExpr.java @@ -77,14 +77,8 @@ public sealed class YangFunctionCallExpr implements YangExpr { @Override public final boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangFunctionCallExpr)) { - return false; - } - final YangFunctionCallExpr other = (YangFunctionCallExpr) obj; - return getName().equals(other.getName()) && getArguments().equals(other.getArguments()); + return this == obj || obj instanceof YangFunctionCallExpr other && getName().equals(other.getName()) + && getArguments().equals(other.getArguments()); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLiteralExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLiteralExpr.java index 8aaf104db2..4848bc8155 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLiteralExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLiteralExpr.java @@ -57,7 +57,7 @@ public final class YangLiteralExpr implements YangExpr { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof YangLiteralExpr && literal.equals(((YangLiteralExpr) obj).literal); + return this == obj || obj instanceof YangLiteralExpr other && literal.equals(other.literal); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java index e987baa9f3..5e2cd065dd 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java @@ -77,14 +77,8 @@ public abstract sealed class YangLocationPath implements YangExpr { @Override public final boolean equals(@Nullable final Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof AxisStep)) { - return false; - } - final AxisStep other = (AxisStep) obj; - return getAxis().equals(other.getAxis()) && getPredicates().equals(other.getPredicates()); + return this == obj || obj instanceof AxisStep other && getAxis().equals(other.getAxis()) + && getPredicates().equals(other.getPredicates()); } @SuppressFBWarnings(value = "SE_PRIVATE_READ_RESOLVE_NOT_INHERITED", @@ -132,15 +126,8 @@ public abstract sealed class YangLocationPath implements YangExpr { @Override public boolean equals(@Nullable final Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof NamespaceStep)) { - return false; - } - final NamespaceStep other = (NamespaceStep) obj; - return getAxis().equals(other.getAxis()) && namespace.equals(other.namespace) - && getPredicates().equals(other.getPredicates()); + return this == obj || obj instanceof NamespaceStep other && getAxis().equals(other.getAxis()) + && namespace.equals(other.namespace) && getPredicates().equals(other.getPredicates()); } @Override @@ -467,14 +454,8 @@ public abstract sealed class YangLocationPath implements YangExpr { @Override public final boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangLocationPath)) { - return false; - } - final YangLocationPath other = (YangLocationPath) obj; - return isAbsolute() == other.isAbsolute() && steps.equals(other.steps); + return this == obj || obj instanceof YangLocationPath other && isAbsolute() == other.isAbsolute() + && steps.equals(other.steps); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryExpr.java index 982b338095..e228f80dc3 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryExpr.java @@ -46,14 +46,8 @@ public final class YangNaryExpr implements YangExpr { @Override public boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangNaryExpr)) { - return false; - } - final YangNaryExpr other = (YangNaryExpr) obj; - return getOperator().equals(other.getOperator()) && expressions.equals(other.expressions); + return this == obj || obj instanceof YangNaryExpr other && getOperator().equals(other.getOperator()) + && expressions.equals(other.expressions); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNegateExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNegateExpr.java index 41fd77f9a1..ee9b7d0c74 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNegateExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNegateExpr.java @@ -37,7 +37,7 @@ public final class YangNegateExpr implements YangExpr { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof YangNegateExpr && subExpr.equals(((YangNegateExpr) obj).subExpr); + return this == obj || obj instanceof YangNegateExpr other && subExpr.equals(other.subExpr); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangPathExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangPathExpr.java index c841a20bd2..d305b90cf0 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangPathExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangPathExpr.java @@ -64,14 +64,8 @@ public sealed class YangPathExpr implements YangExpr { @Override public final boolean equals(final @Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof YangPathExpr)) { - return false; - } - final YangPathExpr other = (YangPathExpr) obj; - return filterExpr.equals(((YangPathExpr) obj).filterExpr) && getLocationPath().equals(other.getLocationPath()); + return this == obj || obj instanceof YangPathExpr other && filterExpr.equals(other.filterExpr) + && getLocationPath().equals(other.getLocationPath()); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangQNameExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangQNameExpr.java index e228975e49..c9dd4d65b8 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangQNameExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangQNameExpr.java @@ -48,7 +48,7 @@ public abstract sealed class YangQNameExpr implements YangExpr, QNameReferent { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof Resolved && qname.equals(((Resolved) obj).qname); + return this == obj || obj instanceof Resolved other && qname.equals(other.qname); } @Override @@ -78,7 +78,7 @@ public abstract sealed class YangQNameExpr implements YangExpr, QNameReferent { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof Unresolved && qname.equals(((Unresolved) obj).qname); + return this == obj || obj instanceof Unresolved other && qname.equals(other.qname); } @Override diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangVariableReferenceExpr.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangVariableReferenceExpr.java index ec7c1124b2..46526487cf 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangVariableReferenceExpr.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangVariableReferenceExpr.java @@ -38,8 +38,7 @@ public final class YangVariableReferenceExpr implements YangExpr { @Override public boolean equals(final @Nullable Object obj) { - return this == obj || obj instanceof YangVariableReferenceExpr - && variableName.equals(((YangVariableReferenceExpr) obj).variableName); + return this == obj || obj instanceof YangVariableReferenceExpr other && variableName.equals(other.variableName); } @Override -- 2.36.6