Class PredicatedBuffer

All Implemented Interfaces:
Serializable, Iterable, Collection, Buffer

@Deprecated(since="2021-04-30") public class PredicatedBuffer extends PredicatedCollection implements Buffer
Deprecated.
Apache Commons Collections version 3.x is being deprecated from AEMaaCS. The upgraded version 4.4 of Commons Collections is already included as replacement. Customers are advised to upgrade to this version of the library. Please note: the package name was changed to org.apache.commons.collections4. Further note that there are AEM APIs currently exposing the old collections classes; these will be updated in upcoming releases.
Decorates another Buffer to validate that additions match a specified predicate.

This buffer exists to provide validation for the decorated buffer. It is normally created to decorate an empty buffer. If an object cannot be added to the buffer, an IllegalArgumentException is thrown.

One usage would be to ensure that no null entries are added to the buffer.

Buffer buffer = PredicatedBuffer.decorate(new UnboundedFifoBuffer(), NotNullPredicate.INSTANCE);

This class is Serializable from Commons Collections 3.1.

Since:
Commons Collections 3.0
See Also:
  • Method Details

    • decorate

      public static Buffer decorate(Buffer buffer, Predicate predicate)
      Deprecated.
      Factory method to create a predicated (validating) buffer.

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

      Parameters:
      buffer - the buffer to decorate, must not be null
      predicate - the predicate to use for validation, must not be null
      Returns:
      a new predicated Buffer
      Throws:
      IllegalArgumentException - if buffer or predicate is null
      IllegalArgumentException - if the buffer contains invalid elements
    • get

      public Object get()
      Deprecated.
      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()
      Deprecated.
      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