## org.apache.commons.collections.functors
Class OnePredicate

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

All Implemented Interfaces:
  java.io.Serializable, PredicateDecorator, Predicate

    public final class OnePredicate

extends java.lang.Object
implements Predicate, PredicateDecorator, java.io.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 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
  Stephen Colebourne, Matt Benson
See Also:
  Serialized Form

Constructor Summary
`OnePredicate(Predicate[] predicates)` Constructor that performs no validation.

Method Summary
`boolean` `evaluate(java.lang.Object object)` Evaluates the predicate returning true if only one decorated predicate returns true.
`static Predicate` `getInstance(java.util.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:
    `java.lang.IllegalArgumentException` - if the predicates array is null
    `java.lang.IllegalArgumentException` - if any predicate in the array is null

### getInstance

    public static Predicate getInstance(java.util.Collection predicates)

  Factory to create the predicate.

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

### evaluate

    public boolean evaluate(java.lang.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-2008 The Apache Software Foundation. All Rights Reserved.