summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-09-06 21:33:06 +0000
committerMark Spruiell <mes@zeroc.com>2002-09-06 21:33:06 +0000
commit24cdce788eaa6f2dfa333c55d8bc0ca219dd06c0 (patch)
tree52ea2cc99a918aa5a769de795994ec3f10a894f0 /java
parentfix (diff)
downloadice-24cdce788eaa6f2dfa333c55d8bc0ca219dd06c0.tar.bz2
ice-24cdce788eaa6f2dfa333c55d8bc0ca219dd06c0.tar.xz
ice-24cdce788eaa6f2dfa333c55d8bc0ca219dd06c0.zip
Ice.Object and Ice.LocalObject are now interfaces
Diffstat (limited to 'java')
-rw-r--r--java/demo/Freeze/bench/Client.java2
-rw-r--r--java/demo/Freeze/library/BookFactory.java2
-rw-r--r--java/demo/Freeze/phonebook/ContactFactory.java2
-rw-r--r--java/demo/Ice/value/ObjectFactory.java2
-rw-r--r--java/demo/IceBox/hello/HelloServiceI.java2
-rw-r--r--java/src/Freeze/DBCursorI.java2
-rw-r--r--java/src/Freeze/DBEnvironmentI.java2
-rw-r--r--java/src/Freeze/DBI.java3
-rw-r--r--java/src/Freeze/DBTransactionI.java2
-rw-r--r--java/src/Freeze/EvictorI.java4
-rw-r--r--java/src/Freeze/EvictorIteratorI.java2
-rw-r--r--java/src/Ice/Blobject.java2
-rw-r--r--java/src/Ice/CommunicatorI.java2
-rw-r--r--java/src/Ice/LocalObject.java55
-rw-r--r--java/src/Ice/LocalObjectImpl.java67
-rw-r--r--java/src/Ice/LoggerI.java4
-rw-r--r--java/src/Ice/Object.java381
-rw-r--r--java/src/Ice/ObjectAdapterI.java2
-rw-r--r--java/src/Ice/ObjectImpl.java394
-rw-r--r--java/src/Ice/PluginManagerI.java2
-rw-r--r--java/src/Ice/PropertiesI.java2
-rw-r--r--java/src/IceInternal/BasicStream.java7
-rw-r--r--java/src/IceXML/StreamI.java6
-rw-r--r--java/test/Freeze/complex/Complex/ObjectFactoryI.java2
-rw-r--r--java/test/IcePack/deployer/FreezeService.java2
-rw-r--r--java/test/IcePack/deployer/Service.java2
-rw-r--r--java/test/IceXML/encoding/Client.java6
27 files changed, 517 insertions, 444 deletions
diff --git a/java/demo/Freeze/bench/Client.java b/java/demo/Freeze/bench/Client.java
index 4e9427103f1..27bad7ee1f0 100644
--- a/java/demo/Freeze/bench/Client.java
+++ b/java/demo/Freeze/bench/Client.java
@@ -478,7 +478,7 @@ class TestApp extends Freeze.Application
}
}
- static private class MyFactory implements Ice.ObjectFactory
+ static private class MyFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
public Ice.Object
create(String type)
diff --git a/java/demo/Freeze/library/BookFactory.java b/java/demo/Freeze/library/BookFactory.java
index 66115265ae7..3d0ab9a8fd2 100644
--- a/java/demo/Freeze/library/BookFactory.java
+++ b/java/demo/Freeze/library/BookFactory.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-class BookFactory implements Ice.ObjectFactory
+class BookFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
public Ice.Object
create(String type)
diff --git a/java/demo/Freeze/phonebook/ContactFactory.java b/java/demo/Freeze/phonebook/ContactFactory.java
index f895fd3fc12..1c1569cb02d 100644
--- a/java/demo/Freeze/phonebook/ContactFactory.java
+++ b/java/demo/Freeze/phonebook/ContactFactory.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-class ContactFactory implements Ice.ObjectFactory, Freeze.ServantInitializer
+class ContactFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory, Freeze.ServantInitializer
{
public Ice.Object
create(String type)
diff --git a/java/demo/Ice/value/ObjectFactory.java b/java/demo/Ice/value/ObjectFactory.java
index 652fed40c8f..672b7f7ca79 100644
--- a/java/demo/Ice/value/ObjectFactory.java
+++ b/java/demo/Ice/value/ObjectFactory.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-class ObjectFactory implements Ice.ObjectFactory
+class ObjectFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
public Ice.Object
create(String type)
diff --git a/java/demo/IceBox/hello/HelloServiceI.java b/java/demo/IceBox/hello/HelloServiceI.java
index a222ea47e38..6c74a7d1948 100644
--- a/java/demo/IceBox/hello/HelloServiceI.java
+++ b/java/demo/IceBox/hello/HelloServiceI.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-public class HelloServiceI implements IceBox.Service
+public class HelloServiceI extends Ice.LocalObjectImpl implements IceBox.Service
{
public void
start(String name, Ice.Communicator communicator, Ice.Properties properties, String[] args)
diff --git a/java/src/Freeze/DBCursorI.java b/java/src/Freeze/DBCursorI.java
index 9a4f8a259c4..6006bc94c0d 100644
--- a/java/src/Freeze/DBCursorI.java
+++ b/java/src/Freeze/DBCursorI.java
@@ -10,7 +10,7 @@
package Freeze;
-class DBCursorI implements DBCursor
+class DBCursorI extends Ice.LocalObjectImpl implements DBCursor
{
public Ice.Communicator
getCommunicator()
diff --git a/java/src/Freeze/DBEnvironmentI.java b/java/src/Freeze/DBEnvironmentI.java
index 377b3a7b28c..44039ffd3f1 100644
--- a/java/src/Freeze/DBEnvironmentI.java
+++ b/java/src/Freeze/DBEnvironmentI.java
@@ -10,7 +10,7 @@
package Freeze;
-class DBEnvironmentI implements DBEnvironment, com.sleepycat.db.DbErrcall
+class DBEnvironmentI extends Ice.LocalObjectImpl implements DBEnvironment, com.sleepycat.db.DbErrcall
{
public String
getName()
diff --git a/java/src/Freeze/DBI.java b/java/src/Freeze/DBI.java
index 3bc7e25050e..5cb29435865 100644
--- a/java/src/Freeze/DBI.java
+++ b/java/src/Freeze/DBI.java
@@ -10,9 +10,8 @@
package Freeze;
-class DBI implements DB
+class DBI extends Ice.LocalObjectImpl implements DB
{
-
public String
getName()
{
diff --git a/java/src/Freeze/DBTransactionI.java b/java/src/Freeze/DBTransactionI.java
index 8eca9301f0e..043a8b3b787 100644
--- a/java/src/Freeze/DBTransactionI.java
+++ b/java/src/Freeze/DBTransactionI.java
@@ -10,7 +10,7 @@
package Freeze;
-class DBTransactionI implements DBTransaction
+class DBTransactionI extends Ice.LocalObjectImpl implements DBTransaction
{
public synchronized void
commit()
diff --git a/java/src/Freeze/EvictorI.java b/java/src/Freeze/EvictorI.java
index 1f4a32a57e5..a30b5cf9120 100644
--- a/java/src/Freeze/EvictorI.java
+++ b/java/src/Freeze/EvictorI.java
@@ -10,7 +10,7 @@
package Freeze;
-class EvictorI implements Evictor
+class EvictorI extends Ice.LocalObjectImpl implements Evictor
{
synchronized public DB
getDB()
@@ -411,7 +411,7 @@ class EvictorI implements Evictor
}
}
- class EvictorElement extends Ice.LocalObject
+ class EvictorElement extends Ice.LocalObjectImpl
{
public Ice.Object servant;
java.util.Iterator position;
diff --git a/java/src/Freeze/EvictorIteratorI.java b/java/src/Freeze/EvictorIteratorI.java
index 723b3baba24..e0139ca5596 100644
--- a/java/src/Freeze/EvictorIteratorI.java
+++ b/java/src/Freeze/EvictorIteratorI.java
@@ -10,7 +10,7 @@
package Freeze;
-class EvictorIteratorI implements EvictorIterator
+class EvictorIteratorI extends Ice.LocalObjectImpl implements EvictorIterator
{
EvictorIteratorI(java.util.Iterator iterator)
{
diff --git a/java/src/Ice/Blobject.java b/java/src/Ice/Blobject.java
index da20c9313e3..de084900ada 100644
--- a/java/src/Ice/Blobject.java
+++ b/java/src/Ice/Blobject.java
@@ -10,7 +10,7 @@
package Ice;
-public abstract class Blobject extends Ice.Object
+public abstract class Blobject extends Ice.ObjectImpl
{
// Returns true if ok, false if user exception.
public abstract boolean
diff --git a/java/src/Ice/CommunicatorI.java b/java/src/Ice/CommunicatorI.java
index cdcce594075..30ad57cbe1c 100644
--- a/java/src/Ice/CommunicatorI.java
+++ b/java/src/Ice/CommunicatorI.java
@@ -10,7 +10,7 @@
package Ice;
-class CommunicatorI implements Communicator
+class CommunicatorI extends LocalObjectImpl implements Communicator
{
public synchronized void
destroy()
diff --git a/java/src/Ice/LocalObject.java b/java/src/Ice/LocalObject.java
index d1a9805afbe..a1c6e15964b 100644
--- a/java/src/Ice/LocalObject.java
+++ b/java/src/Ice/LocalObject.java
@@ -10,58 +10,11 @@
package Ice;
-public abstract class LocalObject
+public interface LocalObject
{
- public boolean
- equals(java.lang.Object rhs)
- {
- try
- {
- LocalObject r = (LocalObject)rhs;
- return this == r;
- }
- catch(ClassCastException ex)
- {
- }
- return false;
- }
+ boolean equals(java.lang.Object rhs);
- public java.lang.Object
- clone()
- throws java.lang.CloneNotSupportedException
- {
- LocalObject result = null;
+ java.lang.Object clone() throws java.lang.CloneNotSupportedException;
- try
- {
- result = (LocalObject)getClass().newInstance();
- result.ice_copyStateFrom(this);
- }
- catch(InstantiationException ex)
- {
- CloneNotSupportedException e = new CloneNotSupportedException();
- e.initCause(ex);
- throw e;
- }
- catch(IllegalAccessException ex)
- {
- CloneNotSupportedException e = new CloneNotSupportedException();
- e.initCause(ex);
- throw e;
- }
-
- return result;
- }
-
- protected void
- ice_copyStateFrom(LocalObject obj)
- throws java.lang.CloneNotSupportedException
- {
- }
-
- public int
- ice_hash()
- {
- return hashCode();
- }
+ int ice_hash();
}
diff --git a/java/src/Ice/LocalObjectImpl.java b/java/src/Ice/LocalObjectImpl.java
new file mode 100644
index 00000000000..2e64986a148
--- /dev/null
+++ b/java/src/Ice/LocalObjectImpl.java
@@ -0,0 +1,67 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// Mutable Realms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package Ice;
+
+public abstract class LocalObjectImpl implements LocalObject
+{
+ public boolean
+ equals(java.lang.Object rhs)
+ {
+ try
+ {
+ LocalObject r = (LocalObject)rhs;
+ return this == r;
+ }
+ catch(ClassCastException ex)
+ {
+ }
+ return false;
+ }
+
+ public java.lang.Object
+ clone()
+ throws java.lang.CloneNotSupportedException
+ {
+ LocalObject result = null;
+
+ try
+ {
+ result = (LocalObject)getClass().newInstance();
+ ((LocalObjectImpl)result).ice_copyStateFrom(this);
+ }
+ catch(InstantiationException ex)
+ {
+ CloneNotSupportedException e = new CloneNotSupportedException();
+ e.initCause(ex);
+ throw e;
+ }
+ catch(IllegalAccessException ex)
+ {
+ CloneNotSupportedException e = new CloneNotSupportedException();
+ e.initCause(ex);
+ throw e;
+ }
+
+ return result;
+ }
+
+ protected void
+ ice_copyStateFrom(LocalObject obj)
+ throws java.lang.CloneNotSupportedException
+ {
+ }
+
+ public int
+ ice_hash()
+ {
+ return hashCode();
+ }
+}
diff --git a/java/src/Ice/LoggerI.java b/java/src/Ice/LoggerI.java
index 6efb3a99da0..102dfbc111b 100644
--- a/java/src/Ice/LoggerI.java
+++ b/java/src/Ice/LoggerI.java
@@ -10,7 +10,7 @@
package Ice;
-public class LoggerI implements Logger
+public class LoggerI extends LocalObjectImpl implements Logger
{
public
LoggerI(String prefix)
@@ -59,5 +59,5 @@ public class LoggerI implements Logger
}
String _prefix = "";
- static Object _globalMutex = new Object();
+ static java.lang.Object _globalMutex = new java.lang.Object();
}
diff --git a/java/src/Ice/Object.java b/java/src/Ice/Object.java
index 0b85e75db3f..6e7778dc755 100644
--- a/java/src/Ice/Object.java
+++ b/java/src/Ice/Object.java
@@ -10,384 +10,43 @@
package Ice;
-public class Object
+public interface Object
{
- public
- Object()
- {
- }
+ boolean equals(java.lang.Object rhs);
- public boolean
- equals(java.lang.Object rhs)
- {
- try
- {
- Object r = (Object)rhs;
- return this == r;
- }
- catch(ClassCastException ex)
- {
- }
- return false;
- }
+ java.lang.Object clone() throws java.lang.CloneNotSupportedException;
- public java.lang.Object
- clone()
- throws java.lang.CloneNotSupportedException
- {
- Object result = null;
+ int ice_hash();
- try
- {
- result = (Object)getClass().newInstance();
- result.ice_copyStateFrom(this);
- }
- catch(InstantiationException ex)
- {
- CloneNotSupportedException e = new CloneNotSupportedException();
- e.initCause(ex);
- throw e;
- }
- catch(IllegalAccessException ex)
- {
- CloneNotSupportedException e = new CloneNotSupportedException();
- e.initCause(ex);
- throw e;
- }
+ boolean ice_isA(String s, Current current);
- return result;
- }
+ void ice_ping(Current current);
- protected final void
- ice_cloneFacets(Object obj)
- throws java.lang.CloneNotSupportedException
- {
- //
- // Clone facets.
- //
- synchronized(obj._activeFacetMap)
- {
- if(!obj._activeFacetMap.isEmpty())
- {
- java.util.Iterator p = obj._activeFacetMap.entrySet().iterator();
- while(p.hasNext())
- {
- java.util.Map.Entry e = (java.util.Map.Entry)p.next();
- Object facet = (Object)e.getValue();
- _activeFacetMap.put(e.getKey(), facet.clone());
- }
- }
- }
- }
+ String[] ice_ids(Current current);
- protected void
- ice_copyStateFrom(Object obj)
- throws java.lang.CloneNotSupportedException
- {
- ice_cloneFacets(obj);
- }
+ String ice_id(Current current);
- public int
- ice_hash()
- {
- return hashCode();
- }
+ String[] ice_facets(Current current);
- public static String[] __ids =
- {
- "::Ice::Object"
- };
+ IceInternal.DispatchStatus __dispatch(IceInternal.Incoming in, Current current);
- public boolean
- ice_isA(String s, Current current)
- {
- return s.equals(__ids[0]);
- }
+ void __write(IceInternal.BasicStream __os);
- public static IceInternal.DispatchStatus
- ___ice_isA(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
- {
- IceInternal.BasicStream __is = __in.is();
- IceInternal.BasicStream __os = __in.os();
- String __id = __is.readString();
- boolean __ret = __obj.ice_isA(__id, __current);
- __os.writeBool(__ret);
- return IceInternal.DispatchStatus.DispatchOK;
- }
+ void __read(IceInternal.BasicStream __is);
- public void
- ice_ping(Current current)
- {
- // Nothing to do.
- }
+ void __marshal(Ice.Stream __os);
- public static IceInternal.DispatchStatus
- ___ice_ping(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
- {
- __obj.ice_ping(__current);
- return IceInternal.DispatchStatus.DispatchOK;
- }
+ void __unmarshal(Ice.Stream __is);
- public String[]
- ice_ids(Current current)
- {
- return __ids;
- }
+ void ice_marshal(String name, Ice.Stream stream);
- public static IceInternal.DispatchStatus
- ___ice_ids(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
- {
- IceInternal.BasicStream __os = __in.os();
- String[] __ret = __obj.ice_ids(__current);
- __os.writeStringSeq(__ret);
- return IceInternal.DispatchStatus.DispatchOK;
- }
+ void ice_addFacet(Object facet, String name);
- public String
- ice_id(Current current)
- {
- return __ids[0];
- }
+ void ice_removeFacet(String name);
- public static IceInternal.DispatchStatus
- ___ice_id(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
- {
- IceInternal.BasicStream __os = __in.os();
- String __ret = __obj.ice_id(__current);
- __os.writeString(__ret);
- return IceInternal.DispatchStatus.DispatchOK;
- }
+ void ice_removeAllFacets();
- public final String[]
- ice_facets(Current current)
- {
- synchronized(_activeFacetMap)
- {
- java.util.Set keySet = _activeFacetMap.keySet();
- String[] v = new String[keySet.size()];
- keySet.toArray(v);
- return v;
- }
- }
+ Object ice_findFacet(String name);
- public static IceInternal.DispatchStatus
- ___ice_facets(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
- {
- IceInternal.BasicStream __os = __in.os();
- String[] __ret = __obj.ice_facets(__current);
- __os.writeStringSeq(__ret);
- return IceInternal.DispatchStatus.DispatchOK;
- }
-
- public static String
- ice_staticId()
- {
- return __ids[0];
- }
-
- private static String[] __all =
- {
- "ice_facets",
- "ice_id",
- "ice_ids",
- "ice_isA",
- "ice_ping"
- };
-
- public IceInternal.DispatchStatus
- __dispatch(IceInternal.Incoming in, Current current)
- {
- int pos = java.util.Arrays.binarySearch(__all, current.operation);
- if(pos < 0)
- {
- return IceInternal.DispatchStatus.DispatchOperationNotExist;
- }
-
- switch(pos)
- {
- case 0:
- {
- return ___ice_facets(this, in, current);
- }
- case 1:
- {
- return ___ice_id(this, in, current);
- }
- case 2:
- {
- return ___ice_ids(this, in, current);
- }
- case 3:
- {
- return ___ice_isA(this, in, current);
- }
- case 4:
- {
- return ___ice_ping(this, in, current);
- }
- }
-
- assert(false);
- return IceInternal.DispatchStatus.DispatchOperationNotExist;
- }
-
- public void
- __write(IceInternal.BasicStream __os)
- {
- synchronized(_activeFacetMap)
- {
- final int sz = _activeFacetMap.size();
- __os.writeSize(sz);
-
- java.util.Set set = _activeFacetMap.keySet();
- String[] keys = new String[sz];
- set.toArray(keys);
- for(int i = 0; i < sz; i++)
- {
- __os.writeString(keys[i]);
- __os.writeObject((Object)_activeFacetMap.get(keys[i]));
- }
- }
- }
-
- public void
- __read(IceInternal.BasicStream __is)
- {
- synchronized(_activeFacetMap)
- {
- int sz = __is.readSize();
-
- _activeFacetMap.clear();
-
- while(sz-- > 0)
- {
- String key = __is.readString();
- Object value = __is.readObject("", null);
- _activeFacetMap.put(key, value);
- }
- }
- }
-
- public void
- __marshal(Ice.Stream __os)
- {
- synchronized(_activeFacetMap)
- {
- final int sz = _activeFacetMap.size();
-
- __os.startWriteDictionary("ice:facets", sz);
- java.util.Set set = _activeFacetMap.keySet();
- String[] keys = new String[sz];
- set.toArray(keys);
- for(int i = 0; i < sz; i++)
- {
- __os.startWriteDictionaryElement();
- __os.writeString("key", keys[i]);
- __os.writeObject("value", (Object)_activeFacetMap.get(keys[i]));
- __os.endWriteDictionaryElement();
- }
- __os.endWriteDictionary();
- }
- }
-
- public void
- __unmarshal(Ice.Stream __is)
- {
- synchronized(_activeFacetMap)
- {
- final String facetsName = "ice:facets";
- final String keyName = "key";
- final String valueName = "value";
-
- int sz = __is.startReadDictionary(facetsName);
-
- _activeFacetMap.clear();
-
- while(sz-- > 0)
- {
- __is.startReadDictionaryElement();
- String key = __is.readString(keyName);
- Object value = __is.readObject(valueName, "", null);
- _activeFacetMap.put(key, value);
- __is.endReadDictionaryElement();
- }
- __is.endReadDictionary();
- }
- }
-
- public final void
- ice_marshal(String name, Ice.Stream stream)
- {
- stream.writeObject(name, this);
- }
-
- public static Object
- ice_unmarshal(String name, Ice.Stream stream)
- {
- return stream.readObject(name, "", null);
- }
-
- public final void
- ice_addFacet(Object facet, String name)
- {
- synchronized(_activeFacetMap)
- {
- _activeFacetMap.put(name, facet);
- }
- }
-
- public final void
- ice_removeFacet(String name)
- {
- synchronized(_activeFacetMap)
- {
- _activeFacetMap.remove(name);
- }
- }
-
- public final void
- ice_removeAllFacets()
- {
- synchronized(_activeFacetMap)
- {
- _activeFacetMap.clear();
- }
- }
-
- public final Object
- ice_findFacet(String name)
- {
- synchronized(_activeFacetMap)
- {
- return (Object)_activeFacetMap.get(name);
- }
- }
-
- public final Object
- ice_findFacetPath(String[] path, int start)
- {
- int sz = path.length;
-
- if(start > sz)
- {
- return null;
- }
-
- if(start == sz)
- {
- return this;
- }
-
- Object f = ice_findFacet(path[start]);
- if(f != null)
- {
- return f.ice_findFacetPath(path, start + 1);
- }
- else
- {
- return f;
- }
- }
-
- private java.util.HashMap _activeFacetMap = new java.util.HashMap();
+ Object ice_findFacetPath(String[] path, int start);
}
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java
index 0ca8963229f..4b9b2a9734c 100644
--- a/java/src/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/ObjectAdapterI.java
@@ -10,7 +10,7 @@
package Ice;
-public class ObjectAdapterI implements ObjectAdapter
+public class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapter
{
public String
getName()
diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java
new file mode 100644
index 00000000000..b69302d7e7d
--- /dev/null
+++ b/java/src/Ice/ObjectImpl.java
@@ -0,0 +1,394 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// Mutable Realms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package Ice;
+
+public class ObjectImpl implements Object
+{
+ public
+ ObjectImpl()
+ {
+ }
+
+ public boolean
+ equals(java.lang.Object rhs)
+ {
+ try
+ {
+ Object r = (Object)rhs;
+ return this == r;
+ }
+ catch(ClassCastException ex)
+ {
+ }
+ return false;
+ }
+
+ public java.lang.Object
+ clone()
+ throws java.lang.CloneNotSupportedException
+ {
+ Object result = null;
+
+ try
+ {
+ result = (Object)getClass().newInstance();
+ ((ObjectImpl)result).ice_copyStateFrom(this);
+ }
+ catch(InstantiationException ex)
+ {
+ CloneNotSupportedException e = new CloneNotSupportedException();
+ e.initCause(ex);
+ throw e;
+ }
+ catch(IllegalAccessException ex)
+ {
+ CloneNotSupportedException e = new CloneNotSupportedException();
+ e.initCause(ex);
+ throw e;
+ }
+
+ return result;
+ }
+
+ protected final void
+ ice_cloneFacets(Object obj)
+ throws java.lang.CloneNotSupportedException
+ {
+ //
+ // Clone facets.
+ //
+ ObjectImpl impl = (ObjectImpl)obj;
+ synchronized(impl._activeFacetMap)
+ {
+ if(!impl._activeFacetMap.isEmpty())
+ {
+ java.util.Iterator p = impl._activeFacetMap.entrySet().iterator();
+ while(p.hasNext())
+ {
+ java.util.Map.Entry e = (java.util.Map.Entry)p.next();
+ Object facet = (Object)e.getValue();
+ _activeFacetMap.put(e.getKey(), facet.clone());
+ }
+ }
+ }
+ }
+
+ protected void
+ ice_copyStateFrom(Object obj)
+ throws java.lang.CloneNotSupportedException
+ {
+ ice_cloneFacets(obj);
+ }
+
+ public int
+ ice_hash()
+ {
+ return hashCode();
+ }
+
+ public static String[] __ids =
+ {
+ "::Ice::Object"
+ };
+
+ public boolean
+ ice_isA(String s, Current current)
+ {
+ return s.equals(__ids[0]);
+ }
+
+ public static IceInternal.DispatchStatus
+ ___ice_isA(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
+ {
+ IceInternal.BasicStream __is = __in.is();
+ IceInternal.BasicStream __os = __in.os();
+ String __id = __is.readString();
+ boolean __ret = __obj.ice_isA(__id, __current);
+ __os.writeBool(__ret);
+ return IceInternal.DispatchStatus.DispatchOK;
+ }
+
+ public void
+ ice_ping(Current current)
+ {
+ // Nothing to do.
+ }
+
+ public static IceInternal.DispatchStatus
+ ___ice_ping(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
+ {
+ __obj.ice_ping(__current);
+ return IceInternal.DispatchStatus.DispatchOK;
+ }
+
+ public String[]
+ ice_ids(Current current)
+ {
+ return __ids;
+ }
+
+ public static IceInternal.DispatchStatus
+ ___ice_ids(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
+ {
+ IceInternal.BasicStream __os = __in.os();
+ String[] __ret = __obj.ice_ids(__current);
+ __os.writeStringSeq(__ret);
+ return IceInternal.DispatchStatus.DispatchOK;
+ }
+
+ public String
+ ice_id(Current current)
+ {
+ return __ids[0];
+ }
+
+ public static IceInternal.DispatchStatus
+ ___ice_id(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
+ {
+ IceInternal.BasicStream __os = __in.os();
+ String __ret = __obj.ice_id(__current);
+ __os.writeString(__ret);
+ return IceInternal.DispatchStatus.DispatchOK;
+ }
+
+ public final String[]
+ ice_facets(Current current)
+ {
+ synchronized(_activeFacetMap)
+ {
+ java.util.Set keySet = _activeFacetMap.keySet();
+ String[] v = new String[keySet.size()];
+ keySet.toArray(v);
+ return v;
+ }
+ }
+
+ public static IceInternal.DispatchStatus
+ ___ice_facets(Ice.Object __obj, IceInternal.Incoming __in, Current __current)
+ {
+ IceInternal.BasicStream __os = __in.os();
+ String[] __ret = __obj.ice_facets(__current);
+ __os.writeStringSeq(__ret);
+ return IceInternal.DispatchStatus.DispatchOK;
+ }
+
+ public static String
+ ice_staticId()
+ {
+ return __ids[0];
+ }
+
+ private static String[] __all =
+ {
+ "ice_facets",
+ "ice_id",
+ "ice_ids",
+ "ice_isA",
+ "ice_ping"
+ };
+
+ public IceInternal.DispatchStatus
+ __dispatch(IceInternal.Incoming in, Current current)
+ {
+ int pos = java.util.Arrays.binarySearch(__all, current.operation);
+ if(pos < 0)
+ {
+ return IceInternal.DispatchStatus.DispatchOperationNotExist;
+ }
+
+ switch(pos)
+ {
+ case 0:
+ {
+ return ___ice_facets(this, in, current);
+ }
+ case 1:
+ {
+ return ___ice_id(this, in, current);
+ }
+ case 2:
+ {
+ return ___ice_ids(this, in, current);
+ }
+ case 3:
+ {
+ return ___ice_isA(this, in, current);
+ }
+ case 4:
+ {
+ return ___ice_ping(this, in, current);
+ }
+ }
+
+ assert(false);
+ return IceInternal.DispatchStatus.DispatchOperationNotExist;
+ }
+
+ public void
+ __write(IceInternal.BasicStream __os)
+ {
+ synchronized(_activeFacetMap)
+ {
+ final int sz = _activeFacetMap.size();
+ __os.writeSize(sz);
+
+ java.util.Set set = _activeFacetMap.keySet();
+ String[] keys = new String[sz];
+ set.toArray(keys);
+ for(int i = 0; i < sz; i++)
+ {
+ __os.writeString(keys[i]);
+ __os.writeObject((Object)_activeFacetMap.get(keys[i]));
+ }
+ }
+ }
+
+ public void
+ __read(IceInternal.BasicStream __is)
+ {
+ synchronized(_activeFacetMap)
+ {
+ int sz = __is.readSize();
+
+ _activeFacetMap.clear();
+
+ while(sz-- > 0)
+ {
+ String key = __is.readString();
+ Object value = __is.readObject("", null);
+ _activeFacetMap.put(key, value);
+ }
+ }
+ }
+
+ public void
+ __marshal(Ice.Stream __os)
+ {
+ synchronized(_activeFacetMap)
+ {
+ final int sz = _activeFacetMap.size();
+
+ __os.startWriteDictionary("ice:facets", sz);
+ java.util.Set set = _activeFacetMap.keySet();
+ String[] keys = new String[sz];
+ set.toArray(keys);
+ for(int i = 0; i < sz; i++)
+ {
+ __os.startWriteDictionaryElement();
+ __os.writeString("key", keys[i]);
+ __os.writeObject("value", (Object)_activeFacetMap.get(keys[i]));
+ __os.endWriteDictionaryElement();
+ }
+ __os.endWriteDictionary();
+ }
+ }
+
+ public void
+ __unmarshal(Ice.Stream __is)
+ {
+ synchronized(_activeFacetMap)
+ {
+ final String facetsName = "ice:facets";
+ final String keyName = "key";
+ final String valueName = "value";
+
+ int sz = __is.startReadDictionary(facetsName);
+
+ _activeFacetMap.clear();
+
+ while(sz-- > 0)
+ {
+ __is.startReadDictionaryElement();
+ String key = __is.readString(keyName);
+ Object value = __is.readObject(valueName, "", null);
+ _activeFacetMap.put(key, value);
+ __is.endReadDictionaryElement();
+ }
+ __is.endReadDictionary();
+ }
+ }
+
+ public final void
+ ice_marshal(String name, Ice.Stream stream)
+ {
+ stream.writeObject(name, this);
+ }
+
+ public static Object
+ ice_unmarshal(String name, Ice.Stream stream)
+ {
+ return stream.readObject(name, "", null);
+ }
+
+ public final void
+ ice_addFacet(Object facet, String name)
+ {
+ synchronized(_activeFacetMap)
+ {
+ _activeFacetMap.put(name, facet);
+ }
+ }
+
+ public final void
+ ice_removeFacet(String name)
+ {
+ synchronized(_activeFacetMap)
+ {
+ _activeFacetMap.remove(name);
+ }
+ }
+
+ public final void
+ ice_removeAllFacets()
+ {
+ synchronized(_activeFacetMap)
+ {
+ _activeFacetMap.clear();
+ }
+ }
+
+ public final Object
+ ice_findFacet(String name)
+ {
+ synchronized(_activeFacetMap)
+ {
+ return (Object)_activeFacetMap.get(name);
+ }
+ }
+
+ public final Object
+ ice_findFacetPath(String[] path, int start)
+ {
+ int sz = path.length;
+
+ if(start > sz)
+ {
+ return null;
+ }
+
+ if(start == sz)
+ {
+ return this;
+ }
+
+ Object f = ice_findFacet(path[start]);
+ if(f != null)
+ {
+ return f.ice_findFacetPath(path, start + 1);
+ }
+ else
+ {
+ return f;
+ }
+ }
+
+ private java.util.HashMap _activeFacetMap = new java.util.HashMap();
+}
diff --git a/java/src/Ice/PluginManagerI.java b/java/src/Ice/PluginManagerI.java
index d2584cc1e5e..002bccb84a1 100644
--- a/java/src/Ice/PluginManagerI.java
+++ b/java/src/Ice/PluginManagerI.java
@@ -10,7 +10,7 @@
package Ice;
-public final class PluginManagerI implements PluginManager
+public final class PluginManagerI extends LocalObjectImpl implements PluginManager
{
public synchronized Plugin
getPlugin(String name)
diff --git a/java/src/Ice/PropertiesI.java b/java/src/Ice/PropertiesI.java
index bd6f762a29c..f51f74417bb 100644
--- a/java/src/Ice/PropertiesI.java
+++ b/java/src/Ice/PropertiesI.java
@@ -10,7 +10,7 @@
package Ice;
-class PropertiesI implements Properties
+class PropertiesI extends LocalObjectImpl implements Properties
{
public synchronized String
getProperty(String key)
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 218ae911802..d5f79678e81 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -924,7 +924,7 @@ public class BasicStream
}
else if(id.equals("::Ice::Object"))
{
- v = new Ice.Object();
+ v = new Ice.ObjectImpl();
}
else
{
@@ -1064,7 +1064,7 @@ public class BasicStream
}
}
- private static final class DynamicObjectFactory implements Ice.ObjectFactory
+ private static final class DynamicObjectFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
DynamicObjectFactory(Class c)
{
@@ -1128,7 +1128,8 @@ public class BasicStream
return factory;
}
- private static final class DynamicUserExceptionFactory implements Ice.UserExceptionFactory
+ private static final class DynamicUserExceptionFactory extends Ice.LocalObjectImpl
+ implements Ice.UserExceptionFactory
{
DynamicUserExceptionFactory(Class c)
{
diff --git a/java/src/IceXML/StreamI.java b/java/src/IceXML/StreamI.java
index 43c115932b6..6f4a7c745d6 100644
--- a/java/src/IceXML/StreamI.java
+++ b/java/src/IceXML/StreamI.java
@@ -10,7 +10,7 @@
package IceXML;
-public class StreamI implements Ice.Stream
+public class StreamI extends Ice.LocalObjectImpl implements Ice.Stream
{
private
StreamI()
@@ -1039,7 +1039,7 @@ public class StreamI implements Ice.Stream
{
if(type.value.equals("::Ice::Object"))
{
- value = new Ice.Object();
+ value = new Ice.ObjectImpl();
}
else
{
@@ -1334,7 +1334,7 @@ public class StreamI implements Ice.Stream
}
}
- private static final class DynamicObjectFactory implements Ice.ObjectFactory
+ private static final class DynamicObjectFactory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
DynamicObjectFactory(Class c)
{
diff --git a/java/test/Freeze/complex/Complex/ObjectFactoryI.java b/java/test/Freeze/complex/Complex/ObjectFactoryI.java
index fc85b556168..515729a3b2e 100644
--- a/java/test/Freeze/complex/Complex/ObjectFactoryI.java
+++ b/java/test/Freeze/complex/Complex/ObjectFactoryI.java
@@ -10,7 +10,7 @@
package Complex;
-public class ObjectFactoryI implements Ice.ObjectFactory
+public class ObjectFactoryI extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
public Ice.Object
create(String type)
diff --git a/java/test/IcePack/deployer/FreezeService.java b/java/test/IcePack/deployer/FreezeService.java
index 73e9ddff925..e4f49542786 100644
--- a/java/test/IcePack/deployer/FreezeService.java
+++ b/java/test/IcePack/deployer/FreezeService.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-public class FreezeService implements IceBox.FreezeService
+public class FreezeService extends Ice.LocalObjectImpl implements IceBox.FreezeService
{
public void
start(String name, Ice.Communicator communicator, Ice.Properties properties, String[] args,
diff --git a/java/test/IcePack/deployer/Service.java b/java/test/IcePack/deployer/Service.java
index 687f802001a..5515f7aaf1b 100644
--- a/java/test/IcePack/deployer/Service.java
+++ b/java/test/IcePack/deployer/Service.java
@@ -8,7 +8,7 @@
//
// **********************************************************************
-public class Service implements IceBox.Service
+public class Service extends Ice.LocalObjectImpl implements IceBox.Service
{
public void
start(String name, Ice.Communicator communicator, Ice.Properties properties, String[] args)
diff --git a/java/test/IceXML/encoding/Client.java b/java/test/IceXML/encoding/Client.java
index 3adda168200..95356fc0cd0 100644
--- a/java/test/IceXML/encoding/Client.java
+++ b/java/test/IceXML/encoding/Client.java
@@ -374,7 +374,7 @@ public class Client
}
}
- private static class Class3Factory implements Ice.ObjectFactory
+ private static class Class3Factory extends Ice.LocalObjectImpl implements Ice.ObjectFactory
{
public Ice.Object
create(String type)
@@ -408,7 +408,7 @@ public class Client
java.io.StringReader sr = new java.io.StringReader(sw.toString());
Ice.Stream istream = new IceXML.StreamI(communicator, sr);
- Ice.Object o = Ice.Object.ice_unmarshal(element, istream);
+ Ice.Object o = Ice.ObjectImpl.ice_unmarshal(element, istream);
Test.Class3 out = (Test.Class3)o;
test(in.c == out.c && in.name.equals(out.name));
@@ -437,7 +437,7 @@ public class Client
java.io.StringReader sr = new java.io.StringReader(sw.toString());
Ice.Stream istream = new IceXML.StreamI(communicator, sr);
- Ice.Object o = Ice.Object.ice_unmarshal(element, istream);
+ Ice.Object o = Ice.ObjectImpl.ice_unmarshal(element, istream);
Test.Class3 out = (Test.Class3)o;
test(out.r != null);
test(out.r.r != null);