## org.opencyc.conversation
Class Arc

    java.lang.Object
      |
      +--org.opencyc.conversation.Arc

All Implemented Interfaces:
  java.lang.Comparable

public class Arc
extends java.lang.Object
implements java.lang.Comparable

Contains the attributes and behavior of a Finite State Machine Arc.

Author:
  Stephen L. Reed

  Copyright 2001 Cycorp, Inc., license is open source GNU LGPL.

  the license

  www.opencyc.org

  OpenCyc at SourceForge

  THIS SOFTWARE AND KNOWLEDGE BASE CONTENT ARE PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENCYC ORGANIZATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE AND KNOWLEDGE BASE CONTENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Field Summary
`protected Action` `action` finite state machine state action
`protected Performative` `performative` finite state machine performative
`protected Fsm` `subFsm` finite state machine state sub fsm
`protected State` `transitionFromState` finite state machine state transition from state
`protected State` `transitionToState` finite state machine state transition to state

Constructor Summary
`Arc(State transitionFromState, Performative performative, State transitionToState, Fsm subFsm, Action action)` Constructs a new Arc object, given the current state, performative, transition-to state and the action to take.

Method Summary
`int` `compareTo(java.lang.Object object)` Compares this object with the specified object for order.
`boolean` `equals(java.lang.Object object)` Returns `true` iff some object equals this object
`Action` `getAction()` Returns the finite state machine state action.
`Performative` `getPerformative()` Returns the finite state machine state performative.
`Fsm` `getSubFsm()` Returns the finite state machine state sub fsm.
`State` `getTransitionFromState()` Returns the finite state machine state transition from state.
`State` `getTransitionToState()` Returns the finite state machine state transition to state.
`void` `setSubFsm(Fsm subFsm)` Sets the finite state machine state sub fsm.
`void` `setTransitionFromState(State transitionFromState)` Sets the finite state machine state transition from state.
`void` `setTransitionToState(State transitionToState)` Sets the finite state machine state transition to state.
`java.lang.String` `toString()` Returns the string representation of the `Arc`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### transitionFromState

    protected State transitionFromState

  finite state machine state transition from state

### performative

    protected Performative performative

  finite state machine performative

### transitionToState

    protected State transitionToState

  finite state machine state transition to state

### subFsm

    protected Fsm subFsm

  finite state machine state sub fsm

### action

    protected Action action

  finite state machine state action

Constructor Detail

### Arc

    public Arc(State transitionFromState,
               Performative performative,
               State transitionToState,
               Fsm subFsm,
               Action action)

  Constructs a new Arc object, given the current state, performative, transition-to state and the action to take. Hooks the new arc into the current state.
  Parameters:
    `transitionFromState` - the transition-from state
    `performative` - the transition trigger performative
    `transitionToState` - the transition-to state
    `subFsm` - the sub fsm to perform (null if none)
    `action` - the action to take

Method Detail

### setTransitionFromState

    public void setTransitionFromState(State transitionFromState)

  Sets the finite state machine state transition from state.
  Parameters:
    `transitionFromState` - the finite state machine state transition from state

### getTransitionFromState

    public State getTransitionFromState()

  Returns the finite state machine state transition from state.
  Returns:
    the finite state machine state transition from state

### setTransitionToState

    public void setTransitionToState(State transitionToState)

  Sets the finite state machine state transition to state.
  Parameters:
    `transitionFromState` - the finite state machine state transition to state

### getPerformative

    public Performative getPerformative()

  Returns the finite state machine state performative.
  Returns:
    the finite state machine state performative

### getTransitionToState

    public State getTransitionToState()

  Returns the finite state machine state transition to state.
  Returns:
    the finite state machine state transition to state

### setSubFsm

    public void setSubFsm(Fsm subFsm)

  Sets the finite state machine state sub fsm.
  Parameters:
    `subFsm` - the finite state machine state sub fsm

### getSubFsm

    public Fsm getSubFsm()

  Returns the finite state machine state sub fsm.
  Returns:
    the finite state machine state sub fsm

### getAction

    public Action getAction()

  Returns the finite state machine state action.
  Returns:
    the finite state machine state action

### compareTo

    public int compareTo(java.lang.Object object)

  Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Parameters:
    `object` - the reference object with which to compare.
  Returns:
    a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object

### equals

    public boolean equals(java.lang.Object object)

  Returns `true` iff some object equals this object
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `object` - the `Object` for equality comparison
  Returns:
    equals `boolean` value indicating equality or non-equality.

### toString

    public java.lang.String toString()

  Returns the string representation of the `Arc`
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    the representation of the `Arc` as a `String`