org.apache.ode.jacob.soup
Interface ReplacementMap

All Known Implementing Classes:
ReplacementMapImpl

public interface ReplacementMap

Mapping used by the JACOB soup to replace large objects with (hopefully) smaller objets during the serialization process. This can be used for objects that are immutable during the lifetime of the JACOB VPU.


Method Summary
 java.lang.Object getOriginal(java.lang.Object replacement)
          Get the original object for a given replacement object.
 java.lang.Object getReplacement(java.lang.Object original)
          Get a replacement object for a given "original" object.
 boolean isReplaceable(java.lang.Object obj)
          Determine whether the given object is an object for which a replacement can be obtained.
 boolean isReplacement(java.lang.Object obj)
          Determine whether the given object is a replacement object obtained from this map.
 

Method Detail

isReplacement

boolean isReplacement(java.lang.Object obj)
Determine whether the given object is a replacement object obtained from this map.

Parameters:
obj - object to test
Returns:
true if this getReplacement(Object) returned this object, false otherwise

getOriginal

java.lang.Object getOriginal(java.lang.Object replacement)
                             throws java.lang.IllegalArgumentException
Get the original object for a given replacement object.

Parameters:
replacement -
Returns:
the original for the given replacement
Throws:
java.lang.IllegalArgumentException - if the given object is not a replacement object

getReplacement

java.lang.Object getReplacement(java.lang.Object original)
                                throws java.lang.IllegalArgumentException
Get a replacement object for a given "original" object.

Parameters:
original - "original" object
Returns:
replacement object
Throws:
java.lang.IllegalArgumentException - if the map cannot generate a replacement for the object

isReplaceable

boolean isReplaceable(java.lang.Object obj)
Determine whether the given object is an object for which a replacement can be obtained.

Parameters:
obj - object to test
Returns:
true if the call to getReplacement(Object) will succeed, false otherwise