org.apache.commons.collections.functors

## Class OnePredicate

- java.lang.Object
- - org.apache.commons.collections.functors.OnePredicate

- All Implemented Interfaces:
    Serializable, PredicateDecorator, Predicate

      public final class OnePredicate
      extends Object
      implements Predicate, PredicateDecorator, Serializable

  Predicate implementation that returns true if only one of the predicates return true. If the array of predicates is empty, then this predicate returns false.

  NOTE: In versions prior to 3.2 an array size of zero or one threw an exception.

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `OnePredicate(Predicate[] predicates)` Constructor that performs no validation.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `evaluate(Object object)` Evaluates the predicate returning true if only one decorated predicate returns true.
    `static Predicate` | `getInstance(Collection predicates)` Factory to create the predicate.
    `static Predicate` | `getInstance(Predicate[] predicates)` Factory to create the predicate.
    `Predicate[]` | `getPredicates()` Gets the predicates, do not modify the array.

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

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

- - ### Constructor Detail

    - #### OnePredicate

          public OnePredicate(Predicate[] predicates)

      Constructor that performs no validation. Use `getInstance` if you want that.
      Parameters:
        `predicates` - the predicates to check, not cloned, not null

  - ### Method Detail

    - #### getInstance

          public static Predicate getInstance(Predicate[] predicates)

      Factory to create the predicate.

      If the array is size zero, the predicate always returns false. If the array is size one, then that predicate is returned.

      Parameters:
        `predicates` - the predicates to check, cloned, not null
      Returns:
        the `any` predicate
      Throws:
        `IllegalArgumentException` - if the predicates array is null
        `IllegalArgumentException` - if any predicate in the array is null

    - #### getInstance

          public static Predicate getInstance(Collection predicates)

      Factory to create the predicate.
      Parameters:
        `predicates` - the predicates to check, cloned, not null
      Returns:
        the `one` predicate
      Throws:
        `IllegalArgumentException` - if the predicates array is null
        `IllegalArgumentException` - if any predicate in the array is null

    - #### evaluate

          public boolean evaluate(Object object)

      Evaluates the predicate returning true if only one decorated predicate returns true.
      Specified by:
        `evaluate` in interface `Predicate`
      Parameters:
        `object` - the input object
      Returns:
        true if only one decorated predicate returns true

    - #### getPredicates

          public Predicate[] getPredicates()

      Gets the predicates, do not modify the array.
      Specified by:
        `getPredicates` in interface `PredicateDecorator`
      Returns:
        the predicates
      Since:
        Commons Collections 3.1

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.