Class ChainingObjectResolver

java.lang.Object
org.jboss.marshalling.ChainingObjectResolver
All Implemented Interfaces:
ObjectResolver

public class ChainingObjectResolver extends Object implements ObjectResolver
An object resolver which runs a sequence of object resolvers. On write, the resolvers are run in order from first to last. On read, the resolvers are run in reverse order, from last to first.
  • Field Details

  • Constructor Details

    • ChainingObjectResolver

      public ChainingObjectResolver(ObjectResolver[] resolvers)
      Construct a new instance.
      Parameters:
      resolvers - the resolvers to use
    • ChainingObjectResolver

      public ChainingObjectResolver(Iterator<ObjectResolver> resolvers)
      Construct a new instance.
      Parameters:
      resolvers - the resolvers to use
    • ChainingObjectResolver

      public ChainingObjectResolver(Iterable<ObjectResolver> resolvers)
      Construct a new instance.
      Parameters:
      resolvers - the resolvers to use
    • ChainingObjectResolver

      public ChainingObjectResolver(Collection<ObjectResolver> resolvers)
      Construct a new instance.
      Parameters:
      resolvers - the resolvers to use
  • Method Details

    • unroll

      private static ObjectResolver[] unroll(Iterator<ObjectResolver> iterator, int i)
    • readResolve

      public Object readResolve(Object replacement)
      Get the original object for a replacement object read from a stream.
      Specified by:
      readResolve in interface ObjectResolver
      Parameters:
      replacement - the replacement object
      Returns:
      the original
    • writeReplace

      public Object writeReplace(Object original)
      Get a replacement for an object being written to a stream.
      Specified by:
      writeReplace in interface ObjectResolver
      Parameters:
      original - the original object
      Returns:
      the replacement