Top Fields Constructors Methods
com.sun.faces.flow

public Class FlowImpl

extends Flow
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.Serializable, java.util.Collections, .List, .Map, .Set, java.util.concurrent.ConcurrentHashMap, .CopyOnWriteArrayList, com.sun.faces.util.Util, jakarta.el.MethodExpression, jakarta.faces.application.NavigationCase, jakarta.faces.context.FacesContext, jakarta.faces.flow.Flow, .FlowCallNode, .FlowHandler, .FlowNode, .MethodCallNode, .Parameter, .ReturnNode, .SwitchNode, .ViewNode, jakarta.faces.lifecycle.ClientWindow

Field Summary

Modifier and TypeField and Description
private final ConcurrentHashMap<String, FlowCallNode>
private final ConcurrentHashMap<String, FlowCallNode>
private final ConcurrentHashMap<String, Parameter>
private final CopyOnWriteArrayList<MethodCallNode>
private final ConcurrentHashMap<String, Set<NavigationCase>>
private final ConcurrentHashMap<String, ReturnNode>
private final ConcurrentHashMap<String, SwitchNode>
private final CopyOnWriteArrayList<ViewNode>
public static final Flow
private String
private final Map<String, FlowCallNode>
private MethodExpression
private boolean
private String
private final Map<String, Parameter>
private MethodExpression
private final List<MethodCallNode>
private final Map<String, ReturnNode>
private static final long
private String
private final Map<String, SwitchNode>
public static final Flow
private final List<ViewNode>

Constructor Summary

AccessConstructor and Description
public
private

Method Summary

Modifier and TypeMethod and Description
public Map<String, FlowCallNode>
public Map<String, Parameter>
public List<MethodCallNode>
public Map<String, Set<NavigationCase>>
public Map<String, ReturnNode>
public Map<String, SwitchNode>
public List<ViewNode>
public boolean
equals(Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public String
getClientWindowFlowId(ClientWindow
the
curWindow
)

Implements abstract jakarta.faces.flow.Flow.getClientWindowFlowId.

Get the ClientWindow's id and append "_" and the return from getId.

public String
getDefiningDocumentId()

Implements abstract jakarta.faces.flow.Flow.getDefiningDocumentId.

Return the immutable application unique identifier for the document in which the argument flow is defined.

public MethodExpression
getFinalizer()

Implements abstract jakarta.faces.flow.Flow.getFinalizer.

Return the MethodExpression that must be called by the runtime as the last thing that happens before exiting this flow.

public FlowCallNode
getFlowCall(Flow
the flow for which the FlowCallNode is to be returned
targetFlow
)

Implements abstract jakarta.faces.flow.Flow.getFlowCall.

Return the FlowCallNode that represents calling the targetFlow from this flow, or null if targetFlow cannot be reached from this flow.

public Map<String, FlowCallNode>
getFlowCalls()

Implements abstract jakarta.faces.flow.Flow.getFlowCalls.

Return an immutable data structure containing all the flow call nodes declared for this flow.

public String
getId()

Implements abstract jakarta.faces.flow.Flow.getId.

Return the immutable id for this Flow.

public Map<String, Parameter>
getInboundParameters()

Implements abstract jakarta.faces.flow.Flow.getInboundParameters.

Return an immutable data structure containing the inbound parameters that have been declared for this flow.

public MethodExpression
getInitializer()

Implements abstract jakarta.faces.flow.Flow.getInitializer.

Return the MethodExpression that must be called by the runtime immediately after activating any FlowScoped beans declared for this flow.

public List<MethodCallNode>
getMethodCalls()

Implements abstract jakarta.faces.flow.Flow.getMethodCalls.

Return an immutable data structure containing all the method call nodes declared for this flow.

public Map<String, Set<NavigationCase>>
getNavigationCases()

Implements abstract jakarta.faces.flow.Flow.getNavigationCases.

Return an unmodifiable view of the navigation cases within this flow.

public FlowNode
getNode(String
the node id for which the FlowNode is to be returned
nodeId
)

Implements abstract jakarta.faces.flow.Flow.getNode.

Return the generic FlowNode by id, or null if not found.

public Map<String, ReturnNode>
getReturns()

Implements abstract jakarta.faces.flow.Flow.getReturns.

Return an immutable data structure containing all of the return nodes declared for this flow.

public String
getStartNodeId()

Implements abstract jakarta.faces.flow.Flow.getStartNodeId.

Return the immutable id for the default node that should be activated when this flow is entered.

public Map<String, SwitchNode>
getSwitches()

Implements abstract jakarta.faces.flow.Flow.getSwitches.

Return an immutable data structure containing all of the switch nodes declared for this flow.

public List<ViewNode>
getViews()

Implements abstract jakarta.faces.flow.Flow.getViews.

Return an immutable data structure containing all of the view nodes declared for this flow.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public void
init(FacesContext context)

public void
public void
setId(String definingDocumentId, String id)

public void
public void
setStartNodeId(String defaultNodeId)

Field Detail

_facesFlowCallsback to summary
private final ConcurrentHashMap<String, FlowCallNode> _facesFlowCalls
_facesFlowCallsByTargetFlowIdback to summary
private final ConcurrentHashMap<String, FlowCallNode> _facesFlowCallsByTargetFlowId
_inboundParametersback to summary
private final ConcurrentHashMap<String, Parameter> _inboundParameters
_methodCallsback to summary
private final CopyOnWriteArrayList<MethodCallNode> _methodCalls
_navigationCasesback to summary
private final ConcurrentHashMap<String, Set<NavigationCase>> _navigationCases
_returnsback to summary
private final ConcurrentHashMap<String, ReturnNode> _returns
_switchesback to summary
private final ConcurrentHashMap<String, SwitchNode> _switches
_viewsback to summary
private final CopyOnWriteArrayList<ViewNode> _views
ABANDONED_FLOWback to summary
public static final Flow ABANDONED_FLOW
definingDocumentIdback to summary
private String definingDocumentId
facesFlowCallsback to summary
private final Map<String, FlowCallNode> facesFlowCalls
finalizerback to summary
private MethodExpression finalizer
hasBeenInitializedback to summary
private boolean hasBeenInitialized
idback to summary
private String id
inboundParametersback to summary
private final Map<String, Parameter> inboundParameters
initializerback to summary
private MethodExpression initializer
methodCallsback to summary
private final List<MethodCallNode> methodCalls
returnsback to summary
private final Map<String, ReturnNode> returns
serialVersionUIDback to summary
private static final long serialVersionUID
startNodeIdback to summary
private String startNodeId
switchesback to summary
private final Map<String, SwitchNode> switches
SYNTHESIZED_RETURN_CASE_FLOWback to summary
public static final Flow SYNTHESIZED_RETURN_CASE_FLOW
viewsback to summary
private final List<ViewNode> views

Constructor Detail

FlowImplback to summary
public FlowImpl()
FlowImplback to summary
private FlowImpl(String id)

Method Detail

_getFlowCallsback to summary
public Map<String, FlowCallNode> _getFlowCalls()
_getInboundParametersback to summary
public Map<String, Parameter> _getInboundParameters()
_getMethodCallsback to summary
public List<MethodCallNode> _getMethodCalls()
_getNavigationCasesback to summary
public Map<String, Set<NavigationCase>> _getNavigationCases()
_getReturnsback to summary
public Map<String, ReturnNode> _getReturns()
_getSwitchesback to summary
public Map<String, SwitchNode> _getSwitches()
_getViewsback to summary
public List<ViewNode> _getViews()
equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getClientWindowFlowIdback to summary
public String getClientWindowFlowId(ClientWindow curWindow)

Implements abstract jakarta.faces.flow.Flow.getClientWindowFlowId.

Doc from jakarta.faces.flow.Flow.getClientWindowFlowId.

Get the ClientWindow's id and append "_" and the return from getId. Return the result.

Parameters
curWindow:ClientWindow

the

Returns:String

the generated client window id for this flow.

Annotations
@Override
getDefiningDocumentIdback to summary
public String getDefiningDocumentId()

Implements abstract jakarta.faces.flow.Flow.getDefiningDocumentId.

Doc from jakarta.faces.flow.Flow.getDefiningDocumentId.

Return the immutable application unique identifier for the document in which the argument flow is defined.

Returns:String

the defining document id

Annotations
@Override
getFinalizerback to summary
public MethodExpression getFinalizer()

Implements abstract jakarta.faces.flow.Flow.getFinalizer.

Doc from jakarta.faces.flow.Flow.getFinalizer.

Return the MethodExpression that must be called by the runtime as the last thing that happens before exiting this flow. Any FlowScoped beans declared for this flow must remain in scope until after control returns from the method referenced by this MethodExpression.

Returns:MethodExpression

the MethodExpresion for the finalizer.

Annotations
@Override
getFlowCallback to summary
public FlowCallNode getFlowCall(Flow targetFlow)

Implements abstract jakarta.faces.flow.Flow.getFlowCall.

Doc from jakarta.faces.flow.Flow.getFlowCall.

Return the FlowCallNode that represents calling the targetFlow from this flow, or null if targetFlow cannot be reached from this flow.

Parameters
targetFlow:Flow

the flow for which the FlowCallNode is to be returned

Returns:FlowCallNode

a FlowCallNode for the argument flow or null

Annotations
@Override
getFlowCallsback to summary
public Map<String, FlowCallNode> getFlowCalls()

Implements abstract jakarta.faces.flow.Flow.getFlowCalls.

Doc from jakarta.faces.flow.Flow.getFlowCalls.

Return an immutable data structure containing all the flow call nodes declared for this flow.

Returns:Map<String, FlowCallNode>

the flow call nodes for this flow

Annotations
@Override
getIdback to summary
public String getId()

Implements abstract jakarta.faces.flow.Flow.getId.

Doc from jakarta.faces.flow.Flow.getId.

Return the immutable id for this Flow. This must be unique within the defining document (such as an Application Configuration Resources file), but need not be unique within the entire application.

Returns:String

the id.

Annotations
@Override
getInboundParametersback to summary
public Map<String, Parameter> getInboundParameters()

Implements abstract jakarta.faces.flow.Flow.getInboundParameters.

Doc from jakarta.faces.flow.Flow.getInboundParameters.

Return an immutable data structure containing the inbound parameters that have been declared for this flow. See FlowHandler#transition for the specification of how these parameters are used. Inbound parameters are associated with a specific flow instance, while outbound parameters are associated with a FlowCallNode that causes the transition to a new flow.

Returns:Map<String, Parameter>

the inbound parameters

Annotations
@Override
getInitializerback to summary
public MethodExpression getInitializer()

Implements abstract jakarta.faces.flow.Flow.getInitializer.

Doc from jakarta.faces.flow.Flow.getInitializer.

Return the MethodExpression that must be called by the runtime immediately after activating any FlowScoped beans declared for this flow.

Returns:MethodExpression

the MethodExpresion for the initializer.

Annotations
@Override
getMethodCallsback to summary
public List<MethodCallNode> getMethodCalls()

Implements abstract jakarta.faces.flow.Flow.getMethodCalls.

Doc from jakarta.faces.flow.Flow.getMethodCalls.

Return an immutable data structure containing all the method call nodes declared for this flow.

Returns:List<MethodCallNode>

the method call nodes for this flow

Annotations
@Override
getNavigationCasesback to summary
public Map<String, Set<NavigationCase>> getNavigationCases()

Implements abstract jakarta.faces.flow.Flow.getNavigationCases.

Doc from jakarta.faces.flow.Flow.getNavigationCases.

Return an unmodifiable view of the navigation cases within this flow.

Returns:Map<String, Set<NavigationCase>>

the navigation cases,

Annotations
@Override
getNodeback to summary
public FlowNode getNode(String nodeId)

Implements abstract jakarta.faces.flow.Flow.getNode.

Doc from jakarta.faces.flow.Flow.getNode.

Return the generic FlowNode by id, or null if not found.

Parameters
nodeId:String

the node id for which the FlowNode is to be returned

Returns:FlowNode

the FlowNode or null

Annotations
@Override
getReturnsback to summary
public Map<String, ReturnNode> getReturns()

Implements abstract jakarta.faces.flow.Flow.getReturns.

Doc from jakarta.faces.flow.Flow.getReturns.

Return an immutable data structure containing all of the return nodes declared for this flow.

Returns:Map<String, ReturnNode>

the return nodes for this flow.

Annotations
@Override
getStartNodeIdback to summary
public String getStartNodeId()

Implements abstract jakarta.faces.flow.Flow.getStartNodeId.

Doc from jakarta.faces.flow.Flow.getStartNodeId.

Return the immutable id for the default node that should be activated when this flow is entered.

Returns:String

the id of the start node

Annotations
@Override
getSwitchesback to summary
public Map<String, SwitchNode> getSwitches()

Implements abstract jakarta.faces.flow.Flow.getSwitches.

Doc from jakarta.faces.flow.Flow.getSwitches.

Return an immutable data structure containing all of the switch nodes declared for this flow.

Returns:Map<String, SwitchNode>

the switch nodes for this flow

Annotations
@Override
getViewsback to summary
public List<ViewNode> getViews()

Implements abstract jakarta.faces.flow.Flow.getViews.

Doc from jakarta.faces.flow.Flow.getViews.

Return an immutable data structure containing all of the view nodes declared for this flow.

Returns:List<ViewNode>

the view nodes for this flow

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
initback to summary
public void init(FacesContext context)
setFinalizerback to summary
public void setFinalizer(MethodExpression finalizer)
setIdback to summary
public void setId(String definingDocumentId, String id)
setInitializerback to summary
public void setInitializer(MethodExpression initializer)
setStartNodeIdback to summary
public void setStartNodeId(String defaultNodeId)