summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Reference.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2001-12-15 22:14:32 +0000
committerMark Spruiell <mes@zeroc.com>2001-12-15 22:14:32 +0000
commit0d636760d254ab9ecec94338ad2a753ffcc85f80 (patch)
tree9aeaed871191b8bab59cab524b62360c5fb70d6d /java/src/IceInternal/Reference.java
parentfixes (diff)
downloadice-0d636760d254ab9ecec94338ad2a753ffcc85f80.tar.bz2
ice-0d636760d254ab9ecec94338ad2a753ffcc85f80.tar.xz
ice-0d636760d254ab9ecec94338ad2a753ffcc85f80.zip
porting stable_30
Diffstat (limited to 'java/src/IceInternal/Reference.java')
-rw-r--r--java/src/IceInternal/Reference.java31
1 files changed, 21 insertions, 10 deletions
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java
index dd347107b35..7b5918234c0 100644
--- a/java/src/IceInternal/Reference.java
+++ b/java/src/IceInternal/Reference.java
@@ -20,8 +20,8 @@ public final class Reference
public final static int ModeBatchLast = ModeBatchDatagram;
public
- Reference(Instance inst, String ident, String fac, int md, boolean sec,
- Endpoint[] origEndpts, Endpoint[] endpts)
+ Reference(Instance inst, Ice.Identity ident, String fac, int md,
+ boolean sec, Endpoint[] origEndpts, Endpoint[] endpts)
{
instance = inst;
identity = ident;
@@ -62,7 +62,7 @@ public final class Reference
}
String[] arr = init.split("[ \t\n\r]+");
- identity = arr[0];
+ identity = Ice.Util.stringToIdentity(arr[0]);
int i = 1;
while (i < arr.length)
@@ -197,7 +197,7 @@ public final class Reference
}
String es = s.substring(beg, end);
- Endpoint endp = Endpoint.endpointFromString(es);
+ Endpoint endp = Endpoint.endpointFromString(instance, es);
if (orig)
{
@@ -231,7 +231,7 @@ public final class Reference
}
public
- Reference(String ident, BasicStream s)
+ Reference(Ice.Identity ident, BasicStream s)
{
instance = s.instance();
identity = ident;
@@ -289,7 +289,12 @@ public final class Reference
return true;
}
- if (!identity.equals(r.identity))
+ if (!identity.category.equals(r.identity.category))
+ {
+ return false;
+ }
+
+ if (!identity.name.equals(r.identity.name))
{
return false;
}
@@ -392,7 +397,7 @@ public final class Reference
// All members are treated as const, because References are immutable.
//
public Instance instance;
- public String identity;
+ public Ice.Identity identity;
public String facet;
public int mode;
public boolean secure;
@@ -405,7 +410,7 @@ public final class Reference
// certain values.
//
public Reference
- changeIdentity(String newIdentity)
+ changeIdentity(Ice.Identity newIdentity)
{
if (newIdentity.equals(identity))
{
@@ -505,10 +510,16 @@ public final class Reference
{
int h = 0;
- int sz = identity.length();
+ int sz = identity.name.length();
+ for (int i = 0; i < sz; i++)
+ {
+ h = 5 * h + (int)identity.name.charAt(i);
+ }
+
+ sz = identity.category.length();
for (int i = 0; i < sz; i++)
{
- h = 5 * h + (int)identity.charAt(i);
+ h = 5 * h + (int)identity.category.charAt(i);
}
sz = facet.length();