From 0d023dcbaef0e411794f284880f4e7808147b9b0 Mon Sep 17 00:00:00 2001 From: Thierry Boileau Date: Sun, 8 Mar 2026 21:03:44 +0100 Subject: [PATCH] Issue #1498: Deprecate the implementations of the clone method. --- changes.md | 2 +- .../org/restlet/client/engine/util/ImmutableDate.java | 2 +- .../src/main/java/org/restlet/data/Reference.java | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/changes.md b/changes.md index ce7813b029..38418de6a2 100644 --- a/changes.md +++ b/changes.md @@ -5,7 +5,7 @@ Changes log - Bugs fixed - Reuse an instance of Random class in RandomUtils. Issue #1487. - Complete test classes. Issue #1490. -- +- - Deprecate the implementations of the clone method. Issue #1498. - 2.6.0 (29-06-2025) - 2.6 Release Candidate 2 (21-06-2025) diff --git a/org.restlet.gwt/org.restlet.gwt/src/main/java/org/restlet/client/engine/util/ImmutableDate.java b/org.restlet.gwt/org.restlet.gwt/src/main/java/org/restlet/client/engine/util/ImmutableDate.java index c1fda55d38..b084b998a4 100644 --- a/org.restlet.gwt/org.restlet.gwt/src/main/java/org/restlet/client/engine/util/ImmutableDate.java +++ b/org.restlet.gwt/org.restlet.gwt/src/main/java/org/restlet/client/engine/util/ImmutableDate.java @@ -38,7 +38,7 @@ public ImmutableDate(Date date) { /** {@inheritDoc} */ @Override - public Object clone() { + public Object clone() throws UnsupportedOperationException { throw new UnsupportedOperationException("ImmutableDate is immutable"); } diff --git a/org.restlet.java/org.restlet/src/main/java/org/restlet/data/Reference.java b/org.restlet.java/org.restlet/src/main/java/org/restlet/data/Reference.java index 7cdae27d8e..2cafe5c570 100644 --- a/org.restlet.java/org.restlet/src/main/java/org/restlet/data/Reference.java +++ b/org.restlet.java/org.restlet/src/main/java/org/restlet/data/Reference.java @@ -638,8 +638,16 @@ public Reference addSegment(String value) { return this; } + /** + * @deprecated Use the {@code copy} method instead. + */ @Override + @Deprecated public Reference clone() { + return copy(); + } + + public Reference copy() { final Reference newRef = new Reference(); if (this.baseRef == null) { @@ -647,7 +655,7 @@ public Reference clone() { } else if (equals(this.baseRef)) { newRef.baseRef = newRef; } else { - newRef.baseRef = this.baseRef.clone(); + newRef.baseRef = this.baseRef.copy(); } newRef.fragmentIndex = this.fragmentIndex;