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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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