From bbb67b1d8d1b323be56fd54eafc5bafcec05f4cc Mon Sep 17 00:00:00 2001 From: bern-SOPTIM Date: Tue, 30 Dec 2025 16:21:41 +0100 Subject: [PATCH] GH-3844: Using JEP 394: Pattern Matching for instanceof for #equals in Node and Triple implementations - Using JEP 394: Pattern Matching for instanceof for #equals in Node and Triple implementations --- jena-core/src/main/java/org/apache/jena/graph/Node_ANY.java | 4 +--- .../src/main/java/org/apache/jena/graph/Node_Blank.java | 5 +---- jena-core/src/main/java/org/apache/jena/graph/Node_Ext.java | 5 +---- .../src/main/java/org/apache/jena/graph/Node_Graph.java | 3 +-- .../src/main/java/org/apache/jena/graph/Node_Literal.java | 5 +---- .../src/main/java/org/apache/jena/graph/Node_Triple.java | 5 +---- jena-core/src/main/java/org/apache/jena/graph/Node_URI.java | 5 +---- .../src/main/java/org/apache/jena/graph/Node_Variable.java | 5 +---- jena-core/src/main/java/org/apache/jena/graph/Triple.java | 2 +- 9 files changed, 9 insertions(+), 30 deletions(-) diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_ANY.java b/jena-core/src/main/java/org/apache/jena/graph/Node_ANY.java index daf135099b7..0d54f46ad3f 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_ANY.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_ANY.java @@ -45,9 +45,7 @@ public int hashCode() { @Override public boolean equals(Object other) { // There is only one such object. - if ( this == other ) - return true; - return false; + return this == other; } @Override diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Blank.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Blank.java index 7495ccedd1a..79c89ba6e29 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Blank.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Blank.java @@ -58,11 +58,8 @@ public int hashCode() { public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) + if ( !(obj instanceof Node_Blank other) ) return false; - if ( getClass() != obj.getClass() ) - return false; - Node_Blank other = (Node_Blank)obj; return Objects.equals(label, other.label); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Ext.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Ext.java index 2175e079913..ca9f5a137c3 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Ext.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Ext.java @@ -71,11 +71,8 @@ public int hashCode() { public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) + if ( !( obj instanceof Node_Ext other ) ) return false; - if ( getClass() != obj.getClass() ) - return false; - Node_Ext other = (Node_Ext)obj; return Objects.equals(object, other.object); } } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Graph.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Graph.java index b51626913c7..3cf7b0b0d9a 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Graph.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Graph.java @@ -67,9 +67,8 @@ public int hashCode() { public boolean equals(Object o) { if ( o == this ) return true; - if ( !(o instanceof Node_Graph) ) + if ( !(o instanceof Node_Graph other) ) return false; - Node_Graph other = (Node_Graph)o; return this.getGraph() == other.getGraph(); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Literal.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Literal.java index 202254f63b5..61fdaa58dae 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Literal.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Literal.java @@ -120,11 +120,8 @@ public int hashCode() public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) + if ( !( obj instanceof Node_Literal other ) ) return false; - if ( getClass() != obj.getClass() ) - return false; - Node_Literal other = (Node_Literal)obj; return label.equals(other.label); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Triple.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Triple.java index 864bafe36bc..77c81b067a1 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Triple.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Triple.java @@ -68,11 +68,8 @@ public int hashCode() { public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) + if ( !( obj instanceof Node_Triple other ) ) return false; - if ( getClass() != obj.getClass() ) - return false; - Node_Triple other = (Node_Triple)obj; return triple.equals(other.triple); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java b/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java index dbf1f5b11b3..ce6626ceee0 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java @@ -98,11 +98,8 @@ public int hashCode() { public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) + if ( !( obj instanceof Node_URI other ) ) return false; - if ( getClass() != obj.getClass() ) - return false; - Node_URI other = (Node_URI)obj; return uriStr.equals(other.uriStr); } } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_Variable.java b/jena-core/src/main/java/org/apache/jena/graph/Node_Variable.java index efa7211addf..12cc7cbda9d 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Node_Variable.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Node_Variable.java @@ -66,12 +66,9 @@ public int hashCode() { public boolean equals(Object obj) { if ( this == obj ) return true; - if ( obj == null ) - return false; // For jena-arq Var - if ( ! (obj instanceof Node_Variable) ) + if ( ! (obj instanceof Node_Variable other) ) return false; - Node_Variable other = (Node_Variable)obj; return Objects.equals(varName, other.varName); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/Triple.java b/jena-core/src/main/java/org/apache/jena/graph/Triple.java index 3242aef877e..2ebd08f37aa 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/Triple.java +++ b/jena-core/src/main/java/org/apache/jena/graph/Triple.java @@ -156,7 +156,7 @@ public boolean isConcrete() */ @Override public boolean equals(Object o) - { return o instanceof Triple && ((Triple) o).sameAs( subj, pred, obj ); } + { return o instanceof Triple t && t.sameAs( subj, pred, obj ); } /** Answer true iff this triple has subject s, predicate p, and object o.