Class 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.
    • Constructor Detail

      • 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 Detail

      • 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