org.apache.myfaces.view.facelets.el
Class CompositeComponentELUtils

java.lang.Object
  extended by org.apache.myfaces.view.facelets.el.CompositeComponentELUtils

public final class CompositeComponentELUtils
extends Object

Utility class for composite components when used in EL Expressions --> #{cc}

Version:
$Revision: 1402825 $ $Date: 2012-10-27 12:09:22 -0500 (Sat, 27 Oct 2012) $
Author:
Jakob Korherr (latest modification by $Author: lu4242 $)

Field Summary
static Pattern CC_ATTRS_METHOD_EXPRESSION_REGEX
          A regular expression used to determine if cc.attrs is used as a method expression in an expression String.
static Pattern CC_EXPRESSION_REGEX
          A regular expression used to determine if cc is used in an expression String.
static String CC_FIND_COMPONENT_EXPRESSION
           
static String CURRENT_COMPOSITE_COMPONENT_KEY
          The key under which the current composite component is stored in the attribute map of the FacesContext.
static String LEVEL_KEY
          Indicates the nesting level where the composite component was created, working as reference point to all EL expressions created in that point from Facelets engine.
static String LOCATION_KEY
          The key under which the Location of the composite componente is stored in the attributes map of the component by InterfaceHandler.
 
Method Summary
static UIComponent getCompositeComponentBasedOnLocation(FacesContext facesContext, Location location)
          Try to find a composite component on the composite component stack and using UIComponent.getCurrentCompositeComponent() based on the location of the facelet page that generated the composite component.
static UIComponent getCompositeComponentBasedOnLocation(FacesContext facesContext, Location location, int ccLevel)
          Same as getCompositeComponentBasedOnLocation(final FacesContext facesContext, final Location location), but takes into account the ccLevel to resolve the composite component.
static boolean isCompositeComponentAttrsMethodExpression(String expression)
          Tests if cc.attrs is used as a method expression in an expression String.
static boolean isCompositeComponentExpression(String expression)
          Tests if the expression refers to the current composite component: #{cc}
static void removeCompositeComponentForResolver(FacesContext facesContext)
          Removes the composite component from the attribute map of the FacesContext.
static void saveCompositeComponentForResolver(FacesContext facesContext, Location location, int ccLevel)
          Trys to get the composite component using getCompositeComponentBasedOnLocation() and saves it in an attribute on the FacesContext, which is then used by CompositeComponentImplicitObject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CURRENT_COMPOSITE_COMPONENT_KEY

public static final String CURRENT_COMPOSITE_COMPONENT_KEY
The key under which the current composite component is stored in the attribute map of the FacesContext.

See Also:
Constant Field Values

LOCATION_KEY

public static final String LOCATION_KEY
The key under which the Location of the composite componente is stored in the attributes map of the component by InterfaceHandler.

See Also:
Constant Field Values

LEVEL_KEY

public static final String LEVEL_KEY
Indicates the nesting level where the composite component was created, working as reference point to all EL expressions created in that point from Facelets engine.

See Also:
Constant Field Values

CC_EXPRESSION_REGEX

public static final Pattern CC_EXPRESSION_REGEX
A regular expression used to determine if cc is used in an expression String.


CC_ATTRS_METHOD_EXPRESSION_REGEX

public static final Pattern CC_ATTRS_METHOD_EXPRESSION_REGEX
A regular expression used to determine if cc.attrs is used as a method expression in an expression String. This means cc.attrs must occur, must stand before a '(', because otherwise it would be a method parameter (EL 2.2), and there must be no '.' after cc.attrs unless there is a left parenthesis before it (e.g. #{cc.attrs.method(bean.parameter)}). Explanation of the parts: - [^\\(]* - There can be any character except a '(' before cc.attrs - [^\\w\\.\\(] - There must be no word character, dot, or left parenthesis directly before cc.attrs - cc\\.attrs\\. - "cc.attrs." must occur - [^\\.]* - There must be no dot after cc.attrs to indicate a method invocation on cc.attrs - (\\(.*)? - If there is a left paranthesis after cc.attrs, a dot is allowed again


CC_FIND_COMPONENT_EXPRESSION

public static final String CC_FIND_COMPONENT_EXPRESSION
See Also:
Constant Field Values
Method Detail

getCompositeComponentBasedOnLocation

public static UIComponent getCompositeComponentBasedOnLocation(FacesContext facesContext,
                                                               Location location)
Try to find a composite component on the composite component stack and using UIComponent.getCurrentCompositeComponent() based on the location of the facelet page that generated the composite component.

Parameters:
facesContext -
location -
Returns:

getCompositeComponentBasedOnLocation

public static UIComponent getCompositeComponentBasedOnLocation(FacesContext facesContext,
                                                               Location location,
                                                               int ccLevel)
Same as getCompositeComponentBasedOnLocation(final FacesContext facesContext, final Location location), but takes into account the ccLevel to resolve the composite component.

Parameters:
facesContext -
location -
ccLevel -
Returns:

saveCompositeComponentForResolver

public static void saveCompositeComponentForResolver(FacesContext facesContext,
                                                     Location location,
                                                     int ccLevel)
Trys to get the composite component using getCompositeComponentBasedOnLocation() and saves it in an attribute on the FacesContext, which is then used by CompositeComponentImplicitObject.

Parameters:
facesContext -
location -

removeCompositeComponentForResolver

public static void removeCompositeComponentForResolver(FacesContext facesContext)
Removes the composite component from the attribute map of the FacesContext.

Parameters:
facesContext -

isCompositeComponentExpression

public static boolean isCompositeComponentExpression(String expression)
Tests if the expression refers to the current composite component: #{cc}

Returns:

isCompositeComponentAttrsMethodExpression

public static boolean isCompositeComponentAttrsMethodExpression(String expression)
Tests if cc.attrs is used as a method expression in an expression String. This means cc.attrs must occur, must stand before a '(', because otherwise it would be a method parameter (EL 2.2), and there must be no '.' after cc.attrs unless there is a left parenthesis before it (e.g. #{cc.attrs.method(bean.parameter)}).

Parameters:
expression -
Returns:


Copyright © 2014 The Apache Software Foundation. All Rights Reserved.