org.apache.wicket.extensions.wizard
Interface IWizardModel

All Superinterfaces:
IClusterable, java.io.Serializable
All Known Implementing Classes:
AbstractWizardModel, DynamicWizardModel, WizardModel

public interface IWizardModel
extends IClusterable

This interface defines the model for wizards. This model knows about the wizard's steps and the transitions between them, and it holds a reference to the currently active step. It might function as a generic state holder for the wizard too, though you might find it more convenient to use the wizard component itself for that, or even an external model.

wizard model listeners can be registered to be notified of important events (changing the active step) using the add listener method.

Typically, you would use the default implementation of this interface, but if you need to do more sophisticated stuff, like branching etc, you can consider creating your own implementation. In that case, it is recommended you start by extending from AbstractWizardModel.

Swing Wizard Framework served as a valuable source of inspiration.

Author:
Eelco Hillenius
See Also:
AbstractWizardModel, WizardModel

Method Summary
 void addListener(IWizardModelListener listener)
          Adds a wizard model listener.
 void cancel()
          Cancels further processing.
 void finish()
          Instructs the wizard to finish succesfully.
 IWizardStep getActiveStep()
          Gets the current active step the wizard should display.
 boolean isCancelVisible()
          Gets whether the cancel button should be displayed.
 boolean isLastAvailable()
          Checks if the last button should be enabled.
 boolean isLastStep(IWizardStep step)
          Gets whether the specified step is the last step in the wizard.
 boolean isLastVisible()
          Gets whether the last button should be displayed.
 boolean isNextAvailable()
          Gets whether the next button should be enabled.
 boolean isPreviousAvailable()
          Gets whether the previous button should be enabled.
 void last()
          Takes the model to the last step in the wizard.
 void next()
          Increments the model to the next step.
 void previous()
          Takes the model to the previous step.This method must only be called if isPreviousAvailable() returns true.
 void removeListener(IWizardModelListener listener)
          Removes a wizard model listener.
 void reset()
          Resets the model, setting it to the first step.
 java.util.Iterator stepIterator()
          Returns an iterator over all the steps in the model.
 

Method Detail

addListener

void addListener(IWizardModelListener listener)
Adds a wizard model listener.

Parameters:
listener - The wizard model listener to add

cancel

void cancel()
Cancels further processing. Implementations may clean up and reset the model. Implementations should notify the registered model listeners.


finish

void finish()
Instructs the wizard to finish succesfully. Typically, implementations check whether this option is available at all. Implementations may clean up and reset the model. Implementations should notify the registered model listeners.


getActiveStep

IWizardStep getActiveStep()
Gets the current active step the wizard should display.

Returns:
the active step.

isCancelVisible

boolean isCancelVisible()
Gets whether the cancel button should be displayed.

Returns:
True if the cancel button should be displayed

isLastAvailable

boolean isLastAvailable()
Checks if the last button should be enabled.

Returns:
true if the last button should be enabled, false otherwise.
See Also:
isLastVisible()

isLastStep

boolean isLastStep(IWizardStep step)
Gets whether the specified step is the last step in the wizard.

Parameters:
step - the step to check
Returns:
True if its the final step in the wizard, false< otherwise.

isLastVisible

boolean isLastVisible()
Gets whether the last button should be displayed. This method should only return true if the isLastAvailable() will return true at any point. Returning false will prevent the last button from appearing on the wizard at all.

Returns:
True if the last button should be displayed, False otherwise.

isNextAvailable

boolean isNextAvailable()
Gets whether the next button should be enabled.

Returns:
True if the next button should be enabled, false otherwise.

isPreviousAvailable

boolean isPreviousAvailable()
Gets whether the previous button should be enabled.

Returns:
True if the previous button should be enabled, false otherwise.

last

void last()
Takes the model to the last step in the wizard. This method must only be called if isLastAvailable() returns true. Implementors should notify listeners through calling IWizardModelListener.onActiveStepChanged(IWizardStep).


next

void next()
Increments the model to the next step. This method must only be called if isNextAvailable() returns true. Implementors should notify listeners through calling IWizardModelListener.onActiveStepChanged(IWizardStep).


previous

void previous()
Takes the model to the previous step.This method must only be called if isPreviousAvailable() returns true. Implementors should notify listeners through calling IWizardModelListener.onActiveStepChanged(IWizardStep).


removeListener

void removeListener(IWizardModelListener listener)
Removes a wizard model listener.

Parameters:
listener - The listener to remove

reset

void reset()
Resets the model, setting it to the first step. Implementors should notify listeners through calling IWizardModelListener.onActiveStepChanged(IWizardStep).


stepIterator

java.util.Iterator stepIterator()
Returns an iterator over all the steps in the model. The iteration order is not guaranteed to the be the order of traversal. This is an optional operation; dynamic models can just return null, and should call init the first time a step is encountered right before rendering it.

Returns:
an iterator over all the steps of the model or null if the wizard model is not static


Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.