diff options
Diffstat (limited to 'java')
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); |