org.apache.myfaces.trinidad.component.core.nav
Class CoreTrain

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by org.apache.myfaces.trinidad.component.UIXComponent
          extended by org.apache.myfaces.trinidad.component.UIXComponentBase
              extended by org.apache.myfaces.trinidad.component.UIXCollection
                  extended by org.apache.myfaces.trinidad.component.UIXHierarchy
                      extended by org.apache.myfaces.trinidad.component.UIXNavigationHierarchy
                          extended by org.apache.myfaces.trinidad.component.UIXProcess
                              extended by org.apache.myfaces.trinidad.component.core.nav.CoreTrain
All Implemented Interfaces:
EventListener, javax.faces.component.behavior.ClientBehaviorHolder, javax.faces.component.NamingContainer, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, CollectionComponent, LocalRowKeyIndex, RowKeyIndex, TreeLocalRowKeyIndex

public class CoreTrain
extends UIXProcess
implements javax.faces.component.behavior.ClientBehaviorHolder

Train is a UIXProcess component that renders a train. A train is a horizontal series of train stations connected by a horizontal line. Each train station is an image and text describing the page in the multi-page process.

The train takes a model of type org.apache.myfaces.trinidad.model.MenuModel. The last node along the focusPath and its siblings are rendered. MenuModel extends TreeModel, but it also knows how to go from the current viewId to the focus path. Notice that the menuModel has no special knowledge of page navigation and places no requirements on the nodes that go into the tree. The nodes in the tree are stamped out with the 'nodeStamp' facet, which should contain a commandNavigationItem component, which allows the default actionListener mechanism to be used for page navigation. There are two common scenarios for processes, "Plus One" and "Max Visited" which are explained below. "Plus One" - from the current step the user can navigate to any previous page and the next page. If the user is on the 5th step of a process and goes back to step 2, then the user can only navigate from step 2 to step 1 and step 3. "Max Visited" - the user can navigate to the max visited page. If the user is currently on the max visited page then the user can also navigate to the next page. If the user is on the 5th step of a process and goes back to step 2, then the user can navigate from step 2 to steps 1, 2, 3, 4, and 5. The class org.apache.myfaces.trinidad.model.ProcessMenuModel and org.apache.myfaces.trinidad.model.ProcessUtils were created to support the "Plus One" and "Max Visited" scenarios. Please see the javadoc for these classes for more information. When the focusPath is not focused on a top level node, images are rendered before and after the train to indicate that this train is part of a sub-process

Events:

Type Phases Description
org.apache.myfaces.trinidad.event.AttributeChangeEvent Invoke
Application
Apply
Request
Values
Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.myfaces.trinidad.component.UIXCollection
UIXCollection.NoColumnFacetsVisitContext
 
Nested classes/interfaces inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex
LocalRowKeyIndex.Confidence, LocalRowKeyIndex.LocalCachingStrategy
 
Field Summary
static String COMPONENT_FAMILY
           
static String COMPONENT_TYPE
           
static PropertyKey INLINE_STYLE_KEY
           
static PropertyKey ONCLICK_KEY
           
static PropertyKey ONDBLCLICK_KEY
           
static PropertyKey ONKEYDOWN_KEY
           
static PropertyKey ONKEYPRESS_KEY
           
static PropertyKey ONKEYUP_KEY
           
static PropertyKey ONMOUSEDOWN_KEY
           
static PropertyKey ONMOUSEMOVE_KEY
           
static PropertyKey ONMOUSEOUT_KEY
           
static PropertyKey ONMOUSEOVER_KEY
           
static PropertyKey ONMOUSEUP_KEY
           
static PropertyKey PARTIAL_TRIGGERS_KEY
           
static PropertyKey SHORT_DESC_KEY
           
static PropertyKey STYLE_CLASS_KEY
           
static FacesBean.Type TYPE
           
 
Fields inherited from class org.apache.myfaces.trinidad.component.UIXProcess
NODE_STAMP_FACET, VALUE_KEY, VAR_STATUS_KEY
 
Fields inherited from class org.apache.myfaces.trinidad.component.UIXCollection
VAR_KEY
 
Fields inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase
BINDING_KEY, ID_KEY, RENDERED_KEY, RENDERER_TYPE_KEY, TRANSIENT_KEY
 
Fields inherited from class javax.faces.component.UIComponent
BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, VIEW_LOCATION_KEY
 
Fields inherited from interface javax.faces.component.NamingContainer
SEPARATOR_CHAR
 
Constructor Summary
  CoreTrain()
          Construct an instance of the CoreTrain.
protected CoreTrain(String rendererType)
          Construct an instance of the CoreTrain.
 
Method Summary
 void addClientBehavior(String eventName, javax.faces.component.behavior.ClientBehavior behavior)
          Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.
protected  FacesBean.Type getBeanType()
           
 Map<String,List<javax.faces.component.behavior.ClientBehavior>> getClientBehaviors()
          Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.
 String getDefaultEventName()
          Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.
 Collection<String> getEventNames()
           
 String getFamily()
           
 String getInlineStyle()
          Gets the CSS styles to use for this component.
 String getOnclick()
          Gets an onclick Javascript handler.
 String getOndblclick()
          Gets an ondblclick Javascript handler.
 String getOnkeydown()
          Gets an onkeydown Javascript handler.
 String getOnkeypress()
          Gets an onkeypress Javascript handler.
 String getOnkeyup()
          Gets an onkeyup Javascript handler.
 String getOnmousedown()
          Gets an onmousedown Javascript handler.
 String getOnmousemove()
          Gets an onmousemove Javascript handler.
 String getOnmouseout()
          Gets an onmouseout Javascript handler.
 String getOnmouseover()
          Gets an onmouseover Javascript handler.
 String getOnmouseup()
          Gets an onmouseup Javascript handler.
 String[] getPartialTriggers()
          Gets the IDs of the components that should trigger a partial update.
 String getShortDesc()
          Gets The short description of the component.
 String getStyleClass()
          Gets a CSS style class to use for this component.
 void setInlineStyle(String inlineStyle)
          Sets the CSS styles to use for this component.
 void setOnclick(String onclick)
          Sets an onclick Javascript handler.
 void setOndblclick(String ondblclick)
          Sets an ondblclick Javascript handler.
 void setOnkeydown(String onkeydown)
          Sets an onkeydown Javascript handler.
 void setOnkeypress(String onkeypress)
          Sets an onkeypress Javascript handler.
 void setOnkeyup(String onkeyup)
          Sets an onkeyup Javascript handler.
 void setOnmousedown(String onmousedown)
          Sets an onmousedown Javascript handler.
 void setOnmousemove(String onmousemove)
          Sets an onmousemove Javascript handler.
 void setOnmouseout(String onmouseout)
          Sets an onmouseout Javascript handler.
 void setOnmouseover(String onmouseover)
          Sets an onmouseover Javascript handler.
 void setOnmouseup(String onmouseup)
          Sets an onmouseup Javascript handler.
 void setPartialTriggers(String[] partialTriggers)
          Sets the IDs of the components that should trigger a partial update.
 void setShortDesc(String shortDesc)
          Sets The short description of the component.
 void setStyleClass(String styleClass)
          Sets a CSS style class to use for this component.
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXProcess
getNodeStamp, getValue, getVarStatus, processFacetsAndChildren, setNodeStamp, setValue, setVarStatus, visitChildren, visitData
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXNavigationHierarchy
createCollectionModel, getFocusRowKey, getMenuModel
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXHierarchy
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, createVarStatusMap, enterContainer, exitContainer, getAllAncestorContainerRowKeys, getContainerRowKey, getContainerRowKey, getDepth, getDepth, getFirst, getRows, getStamps, getTreeModel, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isContainer, isContainerEmpty, visitHierarchy, visitLevel
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXCollection
areRowsAvailable, areRowsAvailable, areRowsAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, broadcast, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearCurrencyStringCache, clearLocalCache, decodeChildrenImpl, defaultVisitChildren, encodeBegin, encodeEnd, getCachingStrategy, getClientRowKey, getClientRowKeyManager, getCollectionModel, getCollectionModel, getContainerClientId, getCurrencyString, getEstimatedRowCount, getEstimatedRowCountConfidence, getRowCount, getRowData, getRowData, getRowData, getRowIndex, getRowKey, getSortCriteria, getVar, invokeOnComponent, isRowAvailable, isRowAvailable, isRowAvailable, isRowLocallyAvailable, isRowLocallyAvailable, isSortable, postCreateCollectionModel, postRowDataChange, preRowDataChange, processComponent, processDecodes, processEvent, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, resetStampState, restoreStampState, restoreState, saveStampState, saveState, setClientRowKey, setCurrencyString, setRowIndex, setRowKey, setSortCriteria, setupVisitingContext, setVar, tearDownVisitingContext, updateChildrenImpl, validateChildrenImpl, visitChildrenWithoutIterating, visitUnstampedFacets
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase
adaptMethodBinding, addAttributeChange, addAttributeChangeListener, addComponentChange, addComponentChange, addFacesListener, broadcastToMethodBinding, broadcastToMethodExpression, clearInitialState, createFacesBean, decode, decodeChildren, encodeChildren, findComponent, getAttributeChangeListener, getAttributeChangeListeners, getAttributes, getBooleanProperty, getChildCount, getChildren, getClientId, getContainerClientId, getFacesBean, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacetNames, getFacets, getFacetsAndChildren, getId, getIntProperty, getLifecycleRenderer, getListenersForEventClass, getParent, getProperty, getPropertyKey, getRenderedFacetsAndChildren, getRenderer, getRendererType, getRendersChildren, getValueBinding, getValueExpression, initialStateMarked, invokeOnChildrenComponents, invokeOnNamingContainerComponent, isRendered, isTransient, markInitialState, removeAttributeChangeListener, removeFacesListener, satisfiesPartialTrigger, setAttributeChangeListener, setAttributeChangeListener, setBooleanProperty, setId, setIntProperty, setParent, setProperty, setRendered, setRendererType, setTransient, setupFlattenedChildrenContext, setupFlattenedContext, setValueBinding, setValueExpression, subscribeToEvent, tearDownFlattenedChildrenContext, tearDownFlattenedContext, toString, unsubscribeFromEvent, updateChildren, validateChildren
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponent
addPartialTarget, clearCachedClientIds, clearCachedClientIds, encodeFlattenedChild, encodeFlattenedChildren, getLogicalParent, getLogicalParent, getStateHelper, getStateHelper, isVisitable, partialEncodeVisit, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, setPartialTarget, setupChildrenEncodingContext, setupChildrenVisitingContext, setupEncodingContext, setUpEncodingContext, tearDownChildrenEncodingContext, tearDownChildrenVisitingContext, tearDownEncodingContext, visitAllChildren, visitChildren, visitTree, visitTree
 
Methods inherited from class javax.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, isCompositeComponent, isInView, popComponentFromEL, pushComponentToEL, setInView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.myfaces.trinidad.component.CollectionComponent
getVar
 
Methods inherited from interface org.apache.myfaces.trinidad.model.RowKeyIndex
areRowsAvailable, areRowsAvailable, areRowsAvailable, getRowCount, getRowData, getRowData, getRowData, getRowIndex, getRowKey, isRowAvailable, isRowAvailable, isRowAvailable, setRowIndex, setRowKey
 
Methods inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearLocalCache, getCachingStrategy, getEstimatedRowCount, getEstimatedRowCountConfidence, isRowLocallyAvailable, isRowLocallyAvailable
 

Field Detail

TYPE

public static final FacesBean.Type TYPE

INLINE_STYLE_KEY

public static final PropertyKey INLINE_STYLE_KEY

STYLE_CLASS_KEY

public static final PropertyKey STYLE_CLASS_KEY

SHORT_DESC_KEY

public static final PropertyKey SHORT_DESC_KEY

PARTIAL_TRIGGERS_KEY

public static final PropertyKey PARTIAL_TRIGGERS_KEY

ONCLICK_KEY

public static final PropertyKey ONCLICK_KEY

ONDBLCLICK_KEY

public static final PropertyKey ONDBLCLICK_KEY

ONMOUSEDOWN_KEY

public static final PropertyKey ONMOUSEDOWN_KEY

ONMOUSEUP_KEY

public static final PropertyKey ONMOUSEUP_KEY

ONMOUSEOVER_KEY

public static final PropertyKey ONMOUSEOVER_KEY

ONMOUSEMOVE_KEY

public static final PropertyKey ONMOUSEMOVE_KEY

ONMOUSEOUT_KEY

public static final PropertyKey ONMOUSEOUT_KEY

ONKEYPRESS_KEY

public static final PropertyKey ONKEYPRESS_KEY

ONKEYDOWN_KEY

public static final PropertyKey ONKEYDOWN_KEY

ONKEYUP_KEY

public static final PropertyKey ONKEYUP_KEY

COMPONENT_FAMILY

public static final String COMPONENT_FAMILY
See Also:
Constant Field Values

COMPONENT_TYPE

public static final String COMPONENT_TYPE
See Also:
Constant Field Values
Constructor Detail

CoreTrain

public CoreTrain()
Construct an instance of the CoreTrain.


CoreTrain

protected CoreTrain(String rendererType)
Construct an instance of the CoreTrain.

Method Detail

getInlineStyle

public final String getInlineStyle()
Gets the CSS styles to use for this component.

Returns:
the new inlineStyle value

setInlineStyle

public final void setInlineStyle(String inlineStyle)
Sets the CSS styles to use for this component.

Parameters:
inlineStyle - the new inlineStyle value

getStyleClass

public final String getStyleClass()
Gets a CSS style class to use for this component.

Returns:
the new styleClass value

setStyleClass

public final void setStyleClass(String styleClass)
Sets a CSS style class to use for this component.

Parameters:
styleClass - the new styleClass value

getShortDesc

public final String getShortDesc()
Gets The short description of the component. This text is commonly used by user agents to display tooltip help text.

Returns:
the new shortDesc value

setShortDesc

public final void setShortDesc(String shortDesc)
Sets The short description of the component. This text is commonly used by user agents to display tooltip help text.

Parameters:
shortDesc - the new shortDesc value

getPartialTriggers

public final String[] getPartialTriggers()
Gets the IDs of the components that should trigger a partial update.

This component will listen on the trigger components. If one of the trigger components receives an event that will cause it to update in some way, this component will request to be updated too.

Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"

Identifiers must account for NamingContainers. You can use a single colon to start the search from the root, or use multiple colons to move up through the NamingContainer. For example, "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), ":::" will pop out of two naming containers, etc. The search for the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the component with id = commandButton1 after popping out of two naming containers relative to this component. To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".

Returns:
the new partialTriggers value

setPartialTriggers

public final void setPartialTriggers(String[] partialTriggers)
Sets the IDs of the components that should trigger a partial update.

This component will listen on the trigger components. If one of the trigger components receives an event that will cause it to update in some way, this component will request to be updated too.

Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"

Identifiers must account for NamingContainers. You can use a single colon to start the search from the root, or use multiple colons to move up through the NamingContainer. For example, "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), ":::" will pop out of two naming containers, etc. The search for the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the component with id = commandButton1 after popping out of two naming containers relative to this component. To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".

Parameters:
partialTriggers - the new partialTriggers value

getOnclick

public final String getOnclick()
Gets an onclick Javascript handler.

Returns:
the new onclick value

setOnclick

public final void setOnclick(String onclick)
Sets an onclick Javascript handler.

Parameters:
onclick - the new onclick value

getOndblclick

public final String getOndblclick()
Gets an ondblclick Javascript handler.

Returns:
the new ondblclick value

setOndblclick

public final void setOndblclick(String ondblclick)
Sets an ondblclick Javascript handler.

Parameters:
ondblclick - the new ondblclick value

getOnmousedown

public final String getOnmousedown()
Gets an onmousedown Javascript handler.

Returns:
the new onmousedown value

setOnmousedown

public final void setOnmousedown(String onmousedown)
Sets an onmousedown Javascript handler.

Parameters:
onmousedown - the new onmousedown value

getOnmouseup

public final String getOnmouseup()
Gets an onmouseup Javascript handler.

Returns:
the new onmouseup value

setOnmouseup

public final void setOnmouseup(String onmouseup)
Sets an onmouseup Javascript handler.

Parameters:
onmouseup - the new onmouseup value

getOnmouseover

public final String getOnmouseover()
Gets an onmouseover Javascript handler.

Returns:
the new onmouseover value

setOnmouseover

public final void setOnmouseover(String onmouseover)
Sets an onmouseover Javascript handler.

Parameters:
onmouseover - the new onmouseover value

getOnmousemove

public final String getOnmousemove()
Gets an onmousemove Javascript handler.

Returns:
the new onmousemove value

setOnmousemove

public final void setOnmousemove(String onmousemove)
Sets an onmousemove Javascript handler.

Parameters:
onmousemove - the new onmousemove value

getOnmouseout

public final String getOnmouseout()
Gets an onmouseout Javascript handler.

Returns:
the new onmouseout value

setOnmouseout

public final void setOnmouseout(String onmouseout)
Sets an onmouseout Javascript handler.

Parameters:
onmouseout - the new onmouseout value

getOnkeypress

public final String getOnkeypress()
Gets an onkeypress Javascript handler.

Returns:
the new onkeypress value

setOnkeypress

public final void setOnkeypress(String onkeypress)
Sets an onkeypress Javascript handler.

Parameters:
onkeypress - the new onkeypress value

getOnkeydown

public final String getOnkeydown()
Gets an onkeydown Javascript handler.

Returns:
the new onkeydown value

setOnkeydown

public final void setOnkeydown(String onkeydown)
Sets an onkeydown Javascript handler.

Parameters:
onkeydown - the new onkeydown value

getOnkeyup

public final String getOnkeyup()
Gets an onkeyup Javascript handler.

Returns:
the new onkeyup value

setOnkeyup

public final void setOnkeyup(String onkeyup)
Sets an onkeyup Javascript handler.

Parameters:
onkeyup - the new onkeyup value

getDefaultEventName

public String getDefaultEventName()
Description copied from class: UIXComponentBase
Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.

This method must only be called by classes that implement the interface, doing otherwise will result in an exception.

Specified by:
getDefaultEventName in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
getDefaultEventName in class UIXComponentBase
Returns:
null
See Also:
ClientBehaviorHolder.getDefaultEventName()

getEventNames

public Collection<String> getEventNames()
Specified by:
getEventNames in interface javax.faces.component.behavior.ClientBehaviorHolder

getClientBehaviors

public Map<String,List<javax.faces.component.behavior.ClientBehavior>> getClientBehaviors()
Description copied from class: UIXComponentBase
Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.

This method must only be called by classes that implement the interface, doing otherwise will result in an exception.

Specified by:
getClientBehaviors in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
getClientBehaviors in class UIXComponentBase
Returns:
Read-only map of the client behaviors for this component
See Also:
ClientBehaviorHolder.getClientBehaviors()

addClientBehavior

public void addClientBehavior(String eventName,
                              javax.faces.component.behavior.ClientBehavior behavior)
Description copied from class: UIXComponentBase
Utility method to assist sub-classes in the implementation of the ClientBehaviorHolder interface.

This method must only be called by classes that implement the interface, doing otherwise will result in an exception.

Specified by:
addClientBehavior in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
addClientBehavior in class UIXComponentBase
Parameters:
eventName - The event name
behavior - The behavior to add
See Also:
ClientBehaviorHolder.addClientBehavior(String, ClientBehavior)

getFamily

public String getFamily()
Overrides:
getFamily in class UIXProcess

getBeanType

protected FacesBean.Type getBeanType()
Overrides:
getBeanType in class UIXProcess


Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.