1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
// **********************************************************************
//
// 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 IceInternal;
public abstract class RoutableReference extends Reference
{
public final RouterInfo
getRouterInfo()
{
return _routerInfo;
}
public final Endpoint[]
getRoutedEndpoints()
{
if(_routerInfo != null)
{
//
// If we route, we send everything to the router's client
// proxy endpoints.
//
Ice.ObjectPrx clientProxy = _routerInfo.getClientProxy();
return ((Ice.ObjectPrxHelperBase)clientProxy).__reference().getEndpoints();
}
return new Endpoint[0];
}
public final boolean
getSecure()
{
return _secure;
}
public final boolean
getCollocationOptimization()
{
return _collocationOptimization;
}
public Reference
changeDefault()
{
RoutableReference r = (RoutableReference)super.changeDefault();
r._secure = false;
r._routerInfo = getInstance().routerManager().get(getInstance().referenceFactory().getDefaultRouter());
r._collocationOptimization = false;
return r;
}
public Reference
changeSecure(boolean newSecure)
{
if(newSecure == _secure)
{
return this;
}
RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
r._secure = newSecure;
return r;
}
public Reference
changeRouter(Ice.RouterPrx newRouter)
{
RouterInfo newRouterInfo = getInstance().routerManager().get(newRouter);
if((newRouterInfo == _routerInfo) ||
(newRouterInfo != null && _routerInfo != null && newRouterInfo.equals(_routerInfo)))
{
return this;
}
RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
r._routerInfo = newRouterInfo;
return r;
}
public Reference
changeCollocationOptimization(boolean newCollocationOptimization)
{
if(newCollocationOptimization == _collocationOptimization)
{
return this;
}
RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
r._collocationOptimization = newCollocationOptimization;
return r;
}
public boolean
equals(java.lang.Object obj)
{
//
// Note: if(this == obj) and type test are performed by each non-abstract derived class.
//
if(!super.equals(obj))
{
return false;
}
RoutableReference rhs = (RoutableReference)obj; // Guaranteed to succeed.
if(_secure != rhs._secure)
{
return false;
}
if(_collocationOptimization != rhs._collocationOptimization)
{
return false;
}
return _routerInfo == null ? rhs._routerInfo == null : _routerInfo.equals(rhs._routerInfo);
}
protected
RoutableReference(Instance inst,
Ice.Identity ident,
java.util.Map ctx,
String fac,
int md,
boolean sec,
RouterInfo rtrInfo,
boolean collocationOpt)
{
super(inst, ident, ctx, fac, md);
_secure = sec;
_routerInfo = rtrInfo;
_collocationOptimization = collocationOpt;
}
private boolean _secure;
private RouterInfo _routerInfo; // Null if no router is used.
private boolean _collocationOptimization;
}
|