Class TransformedBuffer

  • All Implemented Interfaces:
    Serializable, Iterable, Collection, Buffer

    public class TransformedBuffer
    extends TransformedCollection
    implements Buffer
    Decorates another Buffer to transform objects that are added.

    The add methods are affected by this class. Thus objects must be removed or searched for using their transformed form. For example, if the transformation converts Strings to Integers, you must use the Integer form to remove objects.

    This class is Serializable from Commons Collections 3.1.

    Since:
    Commons Collections 3.0
    Version:
    $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
    Author:
    Stephen Colebourne
    See Also:
    Serialized Form
    • Constructor Detail

      • TransformedBuffer

        protected TransformedBuffer​(Buffer buffer,
                                    Transformer transformer)
        Constructor that wraps (not copies).

        If there are any elements already in the buffer being decorated, they are NOT transformed.

        Parameters:
        buffer - the buffer to decorate, must not be null
        transformer - the transformer to use for conversion, must not be null
        Throws:
        IllegalArgumentException - if buffer or transformer is null
    • Method Detail

      • decorate

        public static Buffer decorate​(Buffer buffer,
                                      Transformer transformer)
        Factory method to create a transforming buffer.

        If there are any elements already in the buffer being decorated, they are NOT transformed.

        Parameters:
        buffer - the buffer to decorate, must not be null
        transformer - the transformer to use for conversion, must not be null
        Returns:
        a new transformed Buffer
        Throws:
        IllegalArgumentException - if buffer or transformer is null
      • getBuffer

        protected Buffer getBuffer()
        Gets the decorated buffer.
        Returns:
        the decorated buffer
      • get

        public Object get()
        Description copied from interface: Buffer
        Gets the next object from the buffer without removing it.
        Specified by:
        get in interface Buffer
        Returns:
        the next object in the buffer, which is not removed
      • remove

        public Object remove()
        Description copied from interface: Buffer
        Gets and removes the next object from the buffer.
        Specified by:
        remove in interface Buffer
        Returns:
        the next object in the buffer, which is also removed