summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2005-07-12 18:54:25 +0000
committerMark Spruiell <mes@zeroc.com>2005-07-12 18:54:25 +0000
commitd45e554b3501d7af3f304db55ffbfae71008596c (patch)
tree2e3cef383cc9b2fa78769b28ffdaddecfbbf031d
parentfixing compile error (diff)
downloadice-d45e554b3501d7af3f304db55ffbfae71008596c.tar.bz2
ice-d45e554b3501d7af3f304db55ffbfae71008596c.tar.xz
ice-d45e554b3501d7af3f304db55ffbfae71008596c.zip
removing Cloneable interface, cleaning up ice_clone
-rw-r--r--javae/src/Ice/Current.java2
-rw-r--r--javae/src/Ice/LocalObjectImpl.java27
-rw-r--r--javae/src/Ice/ObjectImpl.java11
-rw-r--r--javae/src/IceInternal/Reference.java2
-rw-r--r--javae/src/IceUtil/Cloneable.java14
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
-{
-}