Class AbstractLoopProcedure

java.lang.Object
org.apache.commons.functor.core.composite.AbstractLoopProcedure
All Implemented Interfaces:
Serializable, Runnable, Functor, NullaryFunctor, Procedure
Direct Known Subclasses:
DoWhileProcedure, WhileDoProcedure

public abstract class AbstractLoopProcedure extends Object implements Procedure, Serializable
Abstract base class for WhileDoProcedure and DoWhileProcedure used to implement loop procedures.

Version:
$Revision$ $Date$
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Procedure
    The action to be repeated until the condition is true.
    private final Predicate
    The condition has to be verified that while true, forces the action repetition.
    private static final int
    Base hash integer used to shift hash.
    private static final long
    serialVersionUID declaration.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Create a new AbstractLoopProcedure.
  • Method Summary

    Modifier and Type
    Method
    Description
    final boolean
    equals(Object object)
    Indicates whether some other object is "equal to" this functor.
    protected final Procedure
    Get the action.
    protected final Predicate
    Get the condition.
    int
    Returns a hash code for this functor adhering to the general Object.hashCode contract.
    protected int
    hashCode(int hash)
    Create a hashCode by manipulating an input hashCode and factoring in instance state.
    Returns a human readable description of this functor.

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface Procedure

    run
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      serialVersionUID declaration.
      See Also:
    • HASH_SHIFT

      private static final int HASH_SHIFT
      Base hash integer used to shift hash.
      See Also:
    • condition

      private final Predicate condition
      The condition has to be verified that while true, forces the action repetition.
    • action

      private final Procedure action
      The action to be repeated until the condition is true.
  • Constructor Details

    • AbstractLoopProcedure

      protected AbstractLoopProcedure(Predicate condition, Procedure action)
      Create a new AbstractLoopProcedure.
      Parameters:
      condition - while true, repeat
      action - loop body
  • Method Details

    • equals

      public final boolean equals(Object object)
      Indicates whether some other object is "equal to" this functor. This method must adhere to general Object.equals contract. Additionally, this method can return true only if the specified Object implements the same functor interface and is known to produce the same results and/or side-effects for the same arguments (if any).

      While implementators are strongly encouraged to override the default Object implementation of this method, note that the default Object implementation does in fact adhere to the functor equals contract.

      Specified by:
      equals in interface Functor
      Overrides:
      equals in class Object
      Parameters:
      object - the object to compare this functor to
      Returns:
      true iff the given object implements this functor interface, and is known to produce the same results and/or side-effects for the same arguments (if any).
      See Also:
    • hashCode

      public int hashCode()
      Returns a hash code for this functor adhering to the general Object.hashCode contract. Implementators are strongly encouraged but not strictly required to override the default Object implementation of this method.
      Specified by:
      hashCode in interface Functor
      Overrides:
      hashCode in class Object
      Returns:
      a hash code for this functor
      See Also:
    • toString

      public String toString()
      Returns a human readable description of this functor. Implementators are strongly encouraged but not strictly required to override the default Object implementation of this method.
      Specified by:
      toString in interface Functor
      Overrides:
      toString in class Object
      Returns:
      a human readable description of this functor
    • hashCode

      protected int hashCode(int hash)
      Create a hashCode by manipulating an input hashCode and factoring in instance state.
      Parameters:
      hash - incoming hashCode
      Returns:
      int
    • getCondition

      protected final Predicate getCondition()
      Get the condition.
      Returns:
      Predicate
    • getAction

      protected final Procedure getAction()
      Get the action.
      Returns:
      Procedure