diff options
author | Mark Spruiell <mes@zeroc.com> | 2005-07-12 18:54:25 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2005-07-12 18:54:25 +0000 |
commit | d45e554b3501d7af3f304db55ffbfae71008596c (patch) | |
tree | 2e3cef383cc9b2fa78769b28ffdaddecfbbf031d | |
parent | fixing compile error (diff) | |
download | ice-d45e554b3501d7af3f304db55ffbfae71008596c.tar.bz2 ice-d45e554b3501d7af3f304db55ffbfae71008596c.tar.xz ice-d45e554b3501d7af3f304db55ffbfae71008596c.zip |
removing Cloneable interface, cleaning up ice_clone
-rw-r--r-- | javae/src/Ice/Current.java | 2 | ||||
-rw-r--r-- | javae/src/Ice/LocalObjectImpl.java | 27 | ||||
-rw-r--r-- | javae/src/Ice/ObjectImpl.java | 11 | ||||
-rw-r--r-- | javae/src/IceInternal/Reference.java | 2 | ||||
-rw-r--r-- | javae/src/IceUtil/Cloneable.java | 14 |
5 files changed, 37 insertions, 19 deletions
diff --git a/javae/src/Ice/Current.java b/javae/src/Ice/Current.java index 129e8ec17e0..990c746dde6 100644 --- a/javae/src/Ice/Current.java +++ b/javae/src/Ice/Current.java @@ -9,7 +9,7 @@ package Ice; -public final class Current implements IceUtil.Cloneable +public final class Current { public ObjectAdapter adapter; public Connection con; diff --git a/javae/src/Ice/LocalObjectImpl.java b/javae/src/Ice/LocalObjectImpl.java index ac4b2bd4228..65517b786fc 100644 --- a/javae/src/Ice/LocalObjectImpl.java +++ b/javae/src/Ice/LocalObjectImpl.java @@ -9,7 +9,7 @@ package Ice; -public abstract class LocalObjectImpl implements LocalObject, IceUtil.Cloneable +public abstract class LocalObjectImpl implements LocalObject { public boolean equals(java.lang.Object rhs) @@ -25,6 +25,26 @@ public abstract class LocalObjectImpl implements LocalObject, IceUtil.Cloneable return false; } + public java.lang.Object + ice_clone() + throws IceUtil.CloneException + { + try + { + LocalObjectImpl obj = (LocalObjectImpl)getClass().newInstance(); + obj.__copyFrom(this); + return obj; + } + catch(java.lang.IllegalAccessException ex) + { + throw new IceUtil.CloneException(ex.getMessage()); + } + catch(java.lang.InstantiationException ex) + { + throw new IceUtil.CloneException(ex.getMessage()); + } + } + public int ice_hash() { @@ -43,4 +63,9 @@ public abstract class LocalObjectImpl implements LocalObject, IceUtil.Cloneable // Intentionally left blank. // } + + protected void + __copyFrom(java.lang.Object obj) + { + } } diff --git a/javae/src/Ice/ObjectImpl.java b/javae/src/Ice/ObjectImpl.java index 8e6fd65904c..33916228b41 100644 --- a/javae/src/Ice/ObjectImpl.java +++ b/javae/src/Ice/ObjectImpl.java @@ -9,7 +9,7 @@ package Ice; -public abstract class ObjectImpl implements Object, IceUtil.Cloneable +public abstract class ObjectImpl implements Object { public ObjectImpl() @@ -22,7 +22,9 @@ public abstract class ObjectImpl implements Object, IceUtil.Cloneable { try { - return getClass().newInstance(); + ObjectImpl obj = (ObjectImpl)getClass().newInstance(); + obj.__copyFrom(this); + return obj; } catch(java.lang.IllegalAccessException ex) { @@ -188,4 +190,9 @@ public abstract class ObjectImpl implements Object, IceUtil.Cloneable } return IceInternal.DispatchStatus.DispatchOperationNotExist; } + + protected void + __copyFrom(java.lang.Object obj) + { + } } diff --git a/javae/src/IceInternal/Reference.java b/javae/src/IceInternal/Reference.java index 357395ddb92..70acc0acef7 100644 --- a/javae/src/IceInternal/Reference.java +++ b/javae/src/IceInternal/Reference.java @@ -9,7 +9,7 @@ package IceInternal; -public abstract class Reference implements IceUtil.Cloneable +public abstract class Reference { public final static int ModeTwoway = 0; public final static int ModeOneway = 1; diff --git a/javae/src/IceUtil/Cloneable.java b/javae/src/IceUtil/Cloneable.java deleted file mode 100644 index a996f6270b7..00000000000 --- a/javae/src/IceUtil/Cloneable.java +++ /dev/null @@ -1,14 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -package IceUtil; - -public interface Cloneable -{ -} |