public class UIImportConstants extends UIComponentBase
UIImportConstants imports a mapping of all constant field values of the given type in the current view.
The ViewDeclarationLanguage
implementation must cause an instance of this component to be
placed in the view for each occurrence of an <f:importConstants />
element placed inside of an
<f:metadata />
element. The user must place <f:metadata />
as a direct child of
the UIViewRoot
. The ViewMetadata.createMetadataView(javax.faces.context.FacesContext)
must
take care of actual task of importing the constants.
Instances of this class participate in the regular Jakarta Server Faces lifecycle, including on Ajax requests.
The purpose of this component is to provide a mapping of all constant field values of the given type in the
current view. Constant field values are all public static final
fields of the given type. The map key
represents the constant field name as String
. The map value represents the actual constant field value.
This works for classes, interfaces and enums.
The below constant fields:
package com.example; public class Foo { public static final String FOO1 = "foo1"; public static final String FOO2 = "foo2"; }
package com.example; public interface Bar { public static final String BAR1 = "bar1"; public static final String BAR2 = "bar2"; }
package com.example; public enum Baz { BAZ1, BAZ2; }
Can be imported as below:
<f:metadata> <f:importConstants type="com.example.Foo" /> <f:importConstants type="com.example.Bar" var="Barrr" /> <f:importConstants type="com.example.Baz" /> </f:metadata>
And can be referenced as below:
#{Foo.FOO1}, #{Foo.FOO2}, #{Barrr.BAR1}, #{Barrr.BAR2}, #{Baz.BAZ1}, #{Baz.BAZ2}
<h:selectOneMenu value="#{bean.baz}" > <f:selectItems value="#{Baz}" /> </h:selectOneMenu>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPONENT_FAMILY
The standard component family for this component.
|
static java.lang.String |
COMPONENT_TYPE
The standard component type for this component.
|
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
Constructor and Description |
---|
UIImportConstants()
Create a new
UIImportConstants instance with renderer type set to null . |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getFamily()
Return the identifier of the component family to which this component belongs. |
java.lang.String |
getType()
Returns the fully qualified name of the type to import the constant field values for.
|
java.lang.String |
getVar()
Returns name of request scope attribute under which constants will be exposed as a Map.
|
void |
setType(java.lang.String type)
Sets the fully qualified name of the type to import the constant field values for.
|
void |
setValueExpression(java.lang.String name,
ValueExpression binding)
Set the
ValueExpression used to calculate the value for the specified attribute or property name, if any. |
void |
setVar(java.lang.String var)
Sets name of request scope attribute under which constants will be exposed as a Map.
|
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTree
public static final java.lang.String COMPONENT_TYPE
The standard component type for this component.
public static final java.lang.String COMPONENT_FAMILY
The standard component family for this component.
public UIImportConstants()
Create a new UIImportConstants
instance with renderer type set to null
.
public java.lang.String getFamily()
UIComponent
Return the identifier of the component family to which this component belongs. This
identifier, in conjunction with the value of the rendererType
property, may be used to select the appropriate Renderer
for this component
instance. Note this method should NOT return null
getFamily
in class UIComponent
public java.lang.String getType()
Returns the fully qualified name of the type to import the constant field values for.
public void setType(java.lang.String type)
Sets the fully qualified name of the type to import the constant field values for.
type
- The fully qualified name of the type to import the constant field values for.public java.lang.String getVar()
Returns name of request scope attribute under which constants will be exposed as a Map.
public void setVar(java.lang.String var)
Sets name of request scope attribute under which constants will be exposed as a Map.
var
- Name of request scope attribute under which constants will be exposed as a Map.public void setValueExpression(java.lang.String name, ValueExpression binding)
Set the ValueExpression
used to calculate the value for the specified attribute or property name, if any.
If a ValueExpression
is set for the var
property, throw an illegal argument exception.
setValueExpression
in class UIComponent
name
- Name of the attribute or property for which to set a
ValueExpression
binding
- The ValueExpression
to set, or null
to remove any
currently set ValueExpression
java.lang.IllegalArgumentException
- If name
is one of id
, parent
, or
var
.java.lang.NullPointerException
- If name
is null
.