net.sf.jga.fn.adaptor
Class AndBinary<T1,T2>

java.lang.Object
  extended by net.sf.jga.fn.Functor<R>
      extended by net.sf.jga.fn.BinaryFunctor<T1,T2,java.lang.Boolean>
          extended by net.sf.jga.fn.adaptor.AndBinary<T1,T2>
All Implemented Interfaces:
java.io.Serializable, Visitable

public class AndBinary<T1,T2>
extends BinaryFunctor<T1,T2,java.lang.Boolean>

Binary that performs a shortcircuit and operation using a given pair of Boolean BinaryFunctors. When the first functor returns true, the second is not evaluated.

See Also:
Serialized Form

Nested Class Summary
static interface AndBinary.Visitor
          Interface for classes that may interpret an AndBinaryFunctor predicate.
 
Constructor Summary
AndBinary(BinaryFunctor<T1,T2,java.lang.Boolean> first, BinaryFunctor<T1,T2,java.lang.Boolean> second)
          Builds a AndBinary functor, given the two functors that may be executed.
 
Method Summary
 void accept(Visitor v)
          Calls the Visitor's visit(AndBinary) method, if it implements the nested Visitor interface.
 java.lang.Boolean fn(T1 arg1, T2 arg2)
          Executes the function and returns the result.
 BinaryFunctor<T1,T2,java.lang.Boolean> getFirstFunctor()
           
 BinaryFunctor<T1,T2,java.lang.Boolean> getSecondFunctor()
           
 java.lang.String toString()
           
 
Methods inherited from class net.sf.jga.fn.BinaryFunctor
bind, bind0th, bind1st, bind2nd, bindNth, compose, compose, composeNth, distribute, eval, generate, generate1st, generate2nd, generateNth
 
Methods inherited from class net.sf.jga.fn.Functor
composeNth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AndBinary

public AndBinary(BinaryFunctor<T1,T2,java.lang.Boolean> first,
                 BinaryFunctor<T1,T2,java.lang.Boolean> second)
Builds a AndBinary functor, given the two functors that may be executed.

Throws:
java.lang.IllegalArgumentException - if any of the functors is missing
Method Detail

getFirstFunctor

public BinaryFunctor<T1,T2,java.lang.Boolean> getFirstFunctor()

getSecondFunctor

public BinaryFunctor<T1,T2,java.lang.Boolean> getSecondFunctor()

fn

public java.lang.Boolean fn(T1 arg1,
                            T2 arg2)
Description copied from class: BinaryFunctor
Executes the function and returns the result.

Specified by:
fn in class BinaryFunctor<T1,T2,java.lang.Boolean>

accept

public void accept(Visitor v)
Calls the Visitor's visit(AndBinary) method, if it implements the nested Visitor interface.

Specified by:
accept in interface Visitable
Overrides:
accept in class Functor<java.lang.Boolean>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2002-2006 David A. Hall. All Rights Reserved.