summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2001-11-27 16:49:19 +0000
committerMark Spruiell <mes@zeroc.com>2001-11-27 16:49:19 +0000
commitb9eab61f62cdf2e8aaf709711f469824ef49ca19 (patch)
tree0c14a1e5a967069990ecd171438c9e53ac445e64 /java/src
parentmake depend (diff)
downloadice-b9eab61f62cdf2e8aaf709711f469824ef49ca19.tar.bz2
ice-b9eab61f62cdf2e8aaf709711f469824ef49ca19.tar.xz
ice-b9eab61f62cdf2e8aaf709711f469824ef49ca19.zip
initial check-in
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/ObjectFactoryManager.java54
-rw-r--r--java/src/IceInternal/ProxyFactory.java75
-rw-r--r--java/src/IceInternal/UserExceptionFactoryManager.java55
3 files changed, 184 insertions, 0 deletions
diff --git a/java/src/IceInternal/ObjectFactoryManager.java b/java/src/IceInternal/ObjectFactoryManager.java
new file mode 100644
index 00000000000..9621d48f333
--- /dev/null
+++ b/java/src/IceInternal/ObjectFactoryManager.java
@@ -0,0 +1,54 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package IceInternal;
+
+final class ObjectFactoryManager
+{
+ public synchronized void
+ add(Ice.ObjectFactory factory, String id)
+ {
+ _factoryMap.put(id, factory);
+ }
+
+ public synchronized void
+ remove(String id)
+ {
+ _factoryMap.remove(id);
+ }
+
+ public synchronized Ice.ObjectFactory
+ find(String id)
+ {
+ return (Ice.ObjectFactory)_factoryMap.get(id);
+ }
+
+ //
+ // Only for use by Instance
+ //
+ ObjectFactoryManager()
+ {
+ }
+
+ void
+ destroy()
+ {
+ java.util.Set entries = _factoryMap.entrySet();
+ java.util.Iterator i = entries.iterator();
+ while (i.hasNext())
+ {
+ Ice.ObjectFactory factory = (Ice.ObjectFactory)i.next();
+ factory.destroy();
+ }
+ _factoryMap.clear();
+ }
+
+ private java.util.HashMap _factoryMap = new java.util.HashMap();
+}
diff --git a/java/src/IceInternal/ProxyFactory.java b/java/src/IceInternal/ProxyFactory.java
new file mode 100644
index 00000000000..3912b657715
--- /dev/null
+++ b/java/src/IceInternal/ProxyFactory.java
@@ -0,0 +1,75 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package IceInternal;
+
+final class ProxyFactory
+{
+ public Ice.ObjectPrx
+ stringToProxy(String s)
+ {
+ Reference reference = new Reference(_instance, s);
+ return referenceToProxy(reference);
+ }
+
+ public String
+ proxyToString(Ice.ObjectPrx proxy)
+ {
+ return proxy.__reference().toString();
+ }
+
+ public Ice.ObjectPrx
+ streamToProxy(BasicStream s)
+ {
+ String identity = s.readString();
+
+ if (identity.length() == 0)
+ {
+ return null;
+ }
+ else
+ {
+ Reference reference = new Reference(identity, s);
+ return referenceToProxy(reference);
+ }
+ }
+
+ public Ice.ObjectPrx
+ referenceToProxy(Reference reference)
+ {
+ Ice.ObjectPrx proxy = new Ice.ProxyForObject();
+ proxy.setup(reference);
+ return proxy;
+ }
+
+ public void
+ proxyToStream(Ice.ObjectPrx proxy, BasicStream s)
+ {
+ if (proxy != null)
+ {
+ s.writeString(proxy.__reference().identity);
+ proxy.__reference().streamWrite(s);
+ }
+ else
+ {
+ s.writeString("");
+ }
+ }
+
+ //
+ // Only for use by Instance
+ //
+ ProxyFactory(Instance instance)
+ {
+ _instance = instance;
+ }
+
+ private Instance _instance;
+}
diff --git a/java/src/IceInternal/UserExceptionFactoryManager.java b/java/src/IceInternal/UserExceptionFactoryManager.java
new file mode 100644
index 00000000000..cec5c8f6dc5
--- /dev/null
+++ b/java/src/IceInternal/UserExceptionFactoryManager.java
@@ -0,0 +1,55 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package IceInternal;
+
+final class UserExceptionFactoryManager
+{
+ public synchronized void
+ add(Ice.UserExceptionFactory factory, String id)
+ {
+ _factoryMap.put(id, factory);
+ }
+
+ public synchronized void
+ remove(String id)
+ {
+ _factoryMap.remove(id);
+ }
+
+ public synchronized Ice.UserExceptionFactory
+ find(String id)
+ {
+ return (Ice.UserExceptionFactory)_factoryMap.get(id);
+ }
+
+ //
+ // Only for use by Instance
+ //
+ UserExceptionFactoryManager()
+ {
+ }
+
+ void
+ destroy()
+ {
+ java.util.Set entries = _factoryMap.entrySet();
+ java.util.Iterator i = entries.iterator();
+ while (i.hasNext())
+ {
+ Ice.UserExceptionFactory factory =
+ (Ice.UserExceptionFactory)i.next();
+ factory.destroy();
+ }
+ _factoryMap.clear();
+ }
+
+ private java.util.HashMap _factoryMap = new java.util.HashMap();
+}