com.guiseframework.input
Class BindingInputStrategy

java.lang.Object
  extended by com.guiseframework.input.AbstractInputStrategy
      extended by com.guiseframework.input.BindingInputStrategy
All Implemented Interfaces:
InputStrategy

public class BindingInputStrategy
extends AbstractInputStrategy

An input strategy based upon input bindings between input and other input or actions. Typical uses include binding CommandInput to KeystrokeInput, or binding an ActionModel to CommandInput. There must be a GuiseSession in effect when this input(Input) is called for this input strategy.

Author:
Garret Wilson

Constructor Summary
BindingInputStrategy()
          Default constructor with no parent.
BindingInputStrategy(InputStrategy parent)
          Parent constructor.
 
Method Summary
 void bind(Input input, ActionModel targetAction)
          Binds the given input to an action.
 void bind(Input input, Input targetInput)
          Binds the given input to other input.
 boolean input(Input input)
          Processes input, returning whether the input was consumed.
 boolean isBound(Input input)
          Indicates whether the given input is bound.
 void unbind(Input input)
          Unbinds the given input from any other input or action.
 
Methods inherited from class com.guiseframework.input.AbstractInputStrategy
getParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BindingInputStrategy

public BindingInputStrategy()
Default constructor with no parent.


BindingInputStrategy

public BindingInputStrategy(InputStrategy parent)
Parent constructor.

Parameters:
parent - The parent input strategy, or null if there is no parent input strategy.
Method Detail

isBound

public boolean isBound(Input input)
Indicates whether the given input is bound.

Parameters:
input - The input that may be bound, such as KeystrokeInput or CommandInput.
Returns:
true if a binding exists for the given input, else false.

bind

public void bind(Input input,
                 Input targetInput)
Binds the given input to other input. If the given input is already bound, the old binding will be replaced.

Parameters:
input - The input to be bound, such as KeystrokeInput.
targetInput - The target input, such as CommandInput.

bind

public void bind(Input input,
                 ActionModel targetAction)
Binds the given input to an action. If the given input is already bound, the old binding will be replaced.

Parameters:
input - The input to be bound, such as CommandInput.
targetAction - The target action that should be performed.

unbind

public void unbind(Input input)
Unbinds the given input from any other input or action. If there is no binding with the given input, no action is taken.

Parameters:
input - The input to be unbound.

input

public boolean input(Input input)
Processes input, returning whether the input was consumed. If the input is not consumed by this input strategy, it is sent to the parent input strategy, if any, for processing. If input is bound to the given input, the input is delegated to GuiseSession.input(Input) and considered to be consumed. If an action is bound to the given input, the action is performed and the input is considered to be consumed. If a bound action implements Enableable and is not enabled, the action is not performed and the input is not considered to be consumed.

Specified by:
input in interface InputStrategy
Overrides:
input in class AbstractInputStrategy
Parameters:
input - The input to process.
Returns:
true if the input was consumed and should not be processed further.
Throws:
java.lang.NullPointerException - if the given input is null.
See Also:
GuiseSession.input(Input), ActionModel.performAction()


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.