com.ibm.xsp.registry
Interface FacesSimpleProperty

All Superinterfaces:
FacesExtensibleNode, FacesProperty
All Known Subinterfaces:
FacesPropertyType

public interface FacesSimpleProperty
extends FacesProperty

A FacesSimpleProperty represents a JavaBean property of the implementation class for a FacesDefinition.


Method Summary
 int getType()
          Returns one of the constants in FacesSimpleTypes
 FacesDefinition getTypeDefinition()
          Return the definition of the java class of this complex property.
 boolean isAllowLoadTimeBinding()
          If true, load time bindings are allowed as the value(s) of this property.
 boolean isAllowNonBinding()
          If false then neither tags nor primitive values may be specified for this property in the page - only bindings are allowed.
 boolean isAllowRunTimeBinding()
          If true, run time bindings are allowed as the value(s) of this property.
 boolean isLocalizable()
          Specifies that the runtime String value of this string property should be localized, using translated text from a property bundle, if possible.
 
Methods inherited from interface com.ibm.xsp.registry.FacesProperty
getFile, getJavaClass, getName, getSince, isAttribute, isRequired
 
Methods inherited from interface com.ibm.xsp.registry.FacesExtensibleNode
getExtension, setExtension
 

Method Detail

getType

int getType()
Returns one of the constants in FacesSimpleTypes

Returns:

isLocalizable

boolean isLocalizable()
Specifies that the runtime String value of this string property should be localized, using translated text from a property bundle, if possible. This can only be true if the type is FacesSimpleTypes.TYPE_STRING or FacesSimpleTypes.TYPE_GENERIC.


isAllowLoadTimeBinding

boolean isAllowLoadTimeBinding()
If true, load time bindings are allowed as the value(s) of this property. The method ValueBindingUtil.isLoadtimeExpression(String) tests whether a value is a load time binding, (all load time expressions contain "${").

Note, if a property with type FacesSimpleTypes.TYPE_GENERIC or FacesSimpleTypes.TYPE_STRING does not allow load time bindings, i.e. false for isAllowLoadTimeBinding(), but a load time binding is specified, the binding will be treated as a String.

This defaults to true.


isAllowRunTimeBinding

boolean isAllowRunTimeBinding()
If true, run time bindings are allowed as the value(s) of this property. The method ValueBindingUtil.isRuntimeExpression(String) tests whether a value is a run time binding, (all run time expressions contain "#{").

Note, if a property with type FacesSimpleTypes.TYPE_GENERIC or FacesSimpleTypes.TYPE_STRING does not allow run time bindings, i.e. false for isAllowLoadTimeBinding(), but a run time binding is specified, the binding will be treated as a String.

Whether a definitions properties should by default allow runtime value bindings depends on the definition's class. Definitions whose class is or implements any of the following default to true: UIComponent, ValueBindingObject, PropertyMap, UIIncludeComposite


isAllowNonBinding

boolean isAllowNonBinding()
If false then neither tags nor primitive values may be specified for this property in the page - only bindings are allowed. Which types of bindings are allowed will depend on the values returned from isAllowLoadTimeBinding() and isAllowRunTimeBinding().

This defaults to true.


getTypeDefinition

FacesDefinition getTypeDefinition()
Return the definition of the java class of this complex property. It will only return a value if not getType()() is FacesSimpleTypes.TYPE_OBJECT, but is not guaranteed to return a value at all. (Sometimes there isn't a FacesDefinition for a FacesSimpleProperty's class)

E.g. if this were the property layoutData, on the component commandButton, then getTypeDefinition should return the definition for LayoutData (not commandButton).

Note this is allowed to be backed by a reference, so it should be assumed that it may return null initially and later return a value (or may never return a value). Hence code that calls this should never cache results that depend on the value of the method.