public class ConstrainableProxyUtil extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
equivalentConstraints(MethodConstraints methodConstraints1,
MethodConstraints methodConstraints2,
Method[] mappings)
Test to see if two
MethodConstraints instances are equivalent given a
method-to-method mapping. |
static MethodConstraints |
translateConstraints(MethodConstraints methodConstraints,
Method[] mappings)
Creates a
MethodConstraints using the constraints in methodConstraints ,
but with the methods remapped according to mappings , where the first element of
each pair of elements is mapped to the second. |
static void |
verifyConsistentConstraints(MethodConstraints methodConstraints,
Object proxy,
Method[] mappings)
Verify that an object,
proxy , is an instance of RemoteMethodControl its
MethodConstraints are equivalent to another MethodConstraints instance,
methodConstraints once a mapping has been applied. |
public static MethodConstraints translateConstraints(MethodConstraints methodConstraints, Method[] mappings)
MethodConstraints
using the constraints in methodConstraints
,
but with the methods remapped according to mappings
, where the first element of
each pair of elements is mapped to the second. For example, if
methodConstraints
returns constraints C1
for method
M1
, and the elements of mappings are methods M1
and
M2
, then the resulting method constraints return C1
for method
M2
.methodConstraints
- the method constraints whose methods should be translated, or
null
for empty constraintsmappings
- the method mappingsNullPointerException
- if mappings
is null
or contains
null
elementsIllegalArgumentException
- if mappings
contains an odd number of elementspublic static boolean equivalentConstraints(MethodConstraints methodConstraints1, MethodConstraints methodConstraints2, Method[] mappings)
MethodConstraints
instances are equivalent given a
method-to-method mapping. Only the constraints for methods that appear in the mapping are
compared. The mapping is represented by an array, mappings
, of 2n Method
objects. For all values p less than n the constraints associated with
mappings[2p]
in methodConstraints1
are compared to the constraints
associated with mappings[2p+1]
in methodConstraints2
. If null is
passed in for both instances they are considered equivalent.methodConstraints1
- the first MethodConstraints
object to compare.methodConstraints2
- the second MethodConstraints
object to compare.mappings
- the method-to-method mapping.true
if the MethodConstraints
instances represent
equivalent constraints, returns false
otherwise.NullPointerException
- if mapping
is null
contains
null
elements.IllegalArgumentException
- if mapping
contains an odd number of elementspublic static void verifyConsistentConstraints(MethodConstraints methodConstraints, Object proxy, Method[] mappings) throws InvalidObjectException
proxy
, is an instance of RemoteMethodControl
its
MethodConstraints
are equivalent to another MethodConstraints
instance,
methodConstraints
once a mapping has been applied. If proxy
does
not implement RemoteMethodControl
or the associated constraints are not
equivalent throw an InvalidObjectException
. The mapping is represented by an array,
mappings
, of 2n Method
objects. For all values p less than n the
constraints associated with mappings[2p]
in methodConstraints
are
compared to the constraints associated with mappings[2p+1]
in the
MethodConstraints
returned by proxy.getConstraints
. Will also
return normally if both methodConstraints
and the value returned by
proxy.getConstraints
are null
.methodConstraints
- the method constraints proxy
should have.proxy
- the proxy to test, must implement RemoteMethodControl
.mappings
- the method to method mappingNullPointerException
- if mappings
or proxy
is
null
or if mapping
contains
null
elementsIllegalArgumentException
- if mappings
contains an odd number of elementsInvalidObjectException
- if proxy
does not implement RemoteMethodControl
,
or if the constraints on proxy
are not
equivalent to methodConstraints
.Copyright © GigaSpaces.