net.nexttext.behaviour.standard
Class FollowSibling

java.lang.Object
  extended by net.nexttext.behaviour.AbstractAction
      extended by net.nexttext.behaviour.standard.FollowSibling
All Implemented Interfaces:
Action

public class FollowSibling
extends AbstractAction

Causes TextObjects to follow their left siblings.

The provided TargettingAction is used to have TextObjects follow their left siblings.


Nested Class Summary
 
Nested classes/interfaces inherited from interface net.nexttext.behaviour.Action
Action.ActionResult
 
Constructor Summary
FollowSibling(int siblingDirection, TargetingAction action)
          Follow left or right sibling.
FollowSibling(TargetingAction action)
          Follow default left sibling.
 
Method Summary
 Action.ActionResult behave(TextObject to)
          Default behave method for single objects.
 java.util.Map<java.lang.String,Property> getRequiredProperties()
          The properties that this action requires on a TextObject.
 
Methods inherited from class net.nexttext.behaviour.AbstractAction
behave, behave, complete, getDisplayName, makeBehaviour, properties, setDisplayName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FollowSibling

public FollowSibling(TargetingAction action)
Follow default left sibling.

Parameters:
action - targeting action that uses the sibling as target

FollowSibling

public FollowSibling(int siblingDirection,
                     TargetingAction action)
Follow left or right sibling.

Parameters:
siblingDirection - LEFT or RIGHT sibling
action - targeting action that uses the sibling as target
Method Detail

behave

public Action.ActionResult behave(TextObject to)
Description copied from class: AbstractAction
Default behave method for single objects.

This method does nothing; it should be overriden by subclasses if they wish to support actions on single objects.

Trying to call this method on an Action which doesn't override it will throw an UnsupportedActionException.

Specified by:
behave in interface Action
Overrides:
behave in class AbstractAction

getRequiredProperties

public java.util.Map<java.lang.String,Property> getRequiredProperties()
Description copied from class: AbstractAction
The properties that this action requires on a TextObject.

Right now this method always returns an empty map, since basic Actions should be restricted to use only the core set of TextObject properties.

If a subclass of Action requires a set of additional properties then it should override this method and return the appropriate Map containing the property objects.

This method is required by the Action interface.

Specified by:
getRequiredProperties in interface Action
Overrides:
getRequiredProperties in class AbstractAction