# Class UniquePredicate<T>

java.lang.Object
org.apache.commons.collections4.functors.AbstractPredicate<T>
org.apache.commons.collections4.functors.UniquePredicate<T>

Type Parameters:
  `T` - the type of the input to the predicate.

All Implemented Interfaces:
  `Serializable`, `Predicate<T>`, `Predicate<T>`

public final class UniquePredicate<T> extends AbstractPredicate<T> implements Serializable
Predicate implementation that returns true the first time an object is passed into the predicate.

Since:
  3.0
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UniquePredicate()`
  Constructor that performs no validation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `test(T object)`
  Evaluates the predicate returning true if the input object hasn't been received yet.
  `static <T> Predicate<T>`
  `uniquePredicate()`
  Creates the predicate.

  ### Methods inherited from class org.apache.commons.collections4.functors.AbstractPredicate

  `evaluate`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.util.function.Predicate

  `and, negate, or`

- ## Constructor Details

  - ### UniquePredicate

    public UniquePredicate()
    Constructor that performs no validation. Use `uniquePredicate` if you want that.

- ## Method Details

  - ### uniquePredicate

    public static <T> Predicate<T> uniquePredicate()
    Creates the predicate.
    Type Parameters:
      `T` - the type that the predicate queries
    Returns:
      the predicate
    Throws:
      `IllegalArgumentException` - if the predicate is null

  - ### test

    public boolean test(T object)
    Evaluates the predicate returning true if the input object hasn't been received yet.
    Specified by:
      `test` in interface `Predicate<T>`
    Specified by:
      `test` in interface `Predicate<T>`
    Parameters:
      `object` - the input object
    Returns:
      true if this is the first time the object is seen