Class ChainingObjectResolver

  • All Implemented Interfaces:
    ObjectResolver

    public class ChainingObjectResolver
    extends java.lang.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​(java.util.Iterator<ObjectResolver> resolvers)
        Construct a new instance.
        Parameters:
        resolvers - the resolvers to use
      • ChainingObjectResolver

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

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

      • readResolve

        public java.lang.Object readResolve​(java.lang.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 java.lang.Object writeReplace​(java.lang.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