net.sf.jga.fn.comparison
Class Min<T>

java.lang.Object
  extended by net.sf.jga.fn.Functor<R>
      extended by net.sf.jga.fn.BinaryFunctor<T,T,T>
          extended by net.sf.jga.fn.comparison.Min<T>
All Implemented Interfaces:
java.io.Serializable, Visitable
Direct Known Subclasses:
Min.Comparable

public class Min<T>
extends BinaryFunctor<T,T,T>

Binary Functor that returns the lesser of two object arguments x and y. The comparison is performed using a comparator supplied at construction time, although a default comparator will be used if the nested Comparable class' default constructor is used. The behaviour of this class in the presence of null arguments is left to the implementation of the specific Comparator, however it is generally safe to assume that using null arguments will cause a NullPointerException to be thrown.

To serialize a Min functor, the comparator passed at construction must be Serializable.

Copyright © 2003-2005 David A. Hall

Author:
David A. Hall
See Also:
Serialized Form

Nested Class Summary
static class Min.Comparable<T extends java.lang.Comparable<? super T>>
          Min functor for use with Comparable arguments.
static interface Min.Visitor
          Interface for classes that may interpret a Min predicate.
 
Constructor Summary
Min(java.util.Comparator<? super T> comp)
          Builds a Less predicate using the given Comparator
 
Method Summary
 void accept(Visitor v)
          Calls the Visitor's visit(Min) method, if it implements the nested Visitor interface.
 T fn(T x, T y)
          Returns the lesser of two arguments, or the first if they are equal.
 java.util.Comparator<? super T> getComparator()
          Returns the comparator in use by this functor
 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

Min

public Min(java.util.Comparator<? super T> comp)
Builds a Less predicate using the given Comparator

Throws:
java.lang.IllegalArgumentException - if the argument is null
Method Detail

getComparator

public java.util.Comparator<? super T> getComparator()
Returns the comparator in use by this functor

Returns:
the comparator in use by this functor

fn

public T fn(T x,
            T y)
Returns the lesser of two arguments, or the first if they are equal.

Specified by:
fn in class BinaryFunctor<T,T,T>
Returns:
the lesser of two arguments, or the first if they are equal.

accept

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

Specified by:
accept in interface Visitable
Overrides:
accept in class Functor<T>

toString

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


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