com.sun.rave.web.ui.component
Class PropertyBase

java.lang.Object
  extended byjavax.faces.component.UIComponent
      extended byjavax.faces.component.UIComponentBase
          extended bycom.sun.rave.web.ui.component.TemplateComponentBase
              extended bycom.sun.rave.web.ui.component.PropertyBase
All Implemented Interfaces:
ChildManager, javax.faces.component.NamingContainer, javax.faces.component.StateHolder, TemplateComponent
Direct Known Subclasses:
Property

public abstract class PropertyBase
extends TemplateComponentBase

HTML Elements and Layout

The Property component was written to be used within the PropertySheetSection component, which is in turn used within the context of a PropertySheet component. The Property component allows you to encapsulate a logic "property" and help you lay it out on the page. A "property" has a number of configuration options, including: the property content; an optional label; the ability to stretch the property to include the label area (in addition to the content area of the "property"; the ability to mark a property required; and the ability to associate help text with the property to inform your end user how to interact with the property.

Help text can be provided for each property by supplying the helpText attribute. This attribute may be a literal String or a ValueBinding expression. The help text will appear below the content of the "property". Optionally, the helpText may also be provided as a facet named "helpText". This allows advanced users to have more control over the types of content provided in the helpText area.

The label may be provided via the label attribute. The label will be rendered to the left of the content area of the "property". The label area will not exist if the overlapLabel attribute is set to true. Optionally advanced users may provide a label facet named "label". This allows developers to have more control over the content of the label area.

The labelAlign attribute can use used to specify "left" or "right" alignment of the label table cell.

Setting the noWrap attribute to true specifies that the label should not be wraped to a new line.

The overlapLabel attribute causes the content of the property to be stretched into the label area as well as the content area. This may be useful for titles which should span the entire width, or other cases where you need the whole width of the PropertySheet.

Client Side Javascript Functions

None.

Examples

Example 1

The label is specified via the label attribute. The components of the content area are specified as children of the ui:property tag.

 
    <ui:property id="prop1" label="Log file name: ">           
        <ui:textField id="logfile" required="true"/>
        <h:message id="logfile_error" for="logfile" showDetail="true"/> 
    </ui:property>
 

Example 2

The components of the content area are specified as children of the ui:property tag. The label is specified via a label facet, to label the dropDown in the content area.

            
    <ui:property id="prop2">    
        <f:facet name="label">
            <ui:label id="prop2label" 
                      text="Select update frequency"
                      for="unit"/>
        </f:facet>   
        <ui:textField id="frequency" 
                      text="#{Logger.frequency.number}"
                      label="Every "/>
        <ui:dropDown id="unit" 
                     selected="#{Logger.frequency.unit}"  
                     items="#{Logger.frequency.units}"  
                     required="true"/>
        <h:message id="msg1"_msg4b" for="frequency" showDetail="true"/> 
        <h:message id="msg2" for="unit" showDetail="true"/> 
    </ui:property>
 

Example 3

The components of the content area are specified inside a PanelGroup child component.

 
    <ui:property id="prop3" label="Admin Server URI"> 
        <ui:panelGroup id="pg">
            <ui:textField id="uri" text="#{Server.uri}" required="true"/>
            <h:message id="msg3" for="uri" showDetail="true"/> 
        </ui:panelGroup>                               
    </ui:property>
 

Example 4

The components of the content area are specified inside a PanelGroup inside a facet.

 
    <ui:property id="prop3" label="Admin Server URI"> 
        <f:facet name="content">
            <ui:panelGroup id="pg">
                <ui:textField id="uri" text="#{Server.uri}" required="true"/>
                <h:message id="msg3" for="uri" showDetail="true"/> 
            </ui:panelGroup>                               
        </f:facet>                       
    </ui:property>
 
 

Auto-generated component class. Do NOT modify; all changes will be lost!


Field Summary
 
Fields inherited from interface javax.faces.component.NamingContainer
SEPARATOR_CHAR
 
Constructor Summary
PropertyBase()
          Construct a new PropertyBase.
 
Method Summary
 java.lang.String getFamily()
          Return the family for this component.
 java.lang.String getHelpText()
          The help text will appear below the content of the "property".
 java.lang.String getLabel()
          Use this attribute to specify the text of the label of this property.
 java.lang.String getLabelAlign()
          Specifies the label alignment for the label of this component.
 java.lang.String getStyle()
          CSS style(s) to be applied when this component is rendered.
 java.lang.String getStyleClass()
          CSS style class(es) to be applied when this component is rendered.
 boolean isDisabled()
          Flag indicating that the user is not permitted to activate this component, and that the component's value will not be submitted with the form.
 boolean isNoWrap()
          Specifies if the label component should not wrap.
 boolean isOverlapLabel()
          This indicates whether the property should overlap into the label area or not.
 boolean isVisible()
          Use the visible attribute to indicate whether the component should be viewable by the user in the rendered HTML page.
 void restoreState(javax.faces.context.FacesContext _context, java.lang.Object _state)
          Restore the state of this component.
 java.lang.Object saveState(javax.faces.context.FacesContext _context)
          Save the state of this component.
 void setDisabled(boolean disabled)
          Flag indicating that the user is not permitted to activate this component, and that the component's value will not be submitted with the form.
 void setHelpText(java.lang.String helpText)
          The help text will appear below the content of the "property".
 void setLabel(java.lang.String label)
          Use this attribute to specify the text of the label of this property.
 void setLabelAlign(java.lang.String labelAlign)
          Specifies the label alignment for the label of this component.
 void setNoWrap(boolean noWrap)
          Specifies if the label component should not wrap.
 void setOverlapLabel(boolean overlapLabel)
          This indicates whether the property should overlap into the label area or not.
 void setStyle(java.lang.String style)
          CSS style(s) to be applied when this component is rendered.
 void setStyleClass(java.lang.String styleClass)
          CSS style class(es) to be applied when this component is rendered.
 void setVisible(boolean visible)
          Use the visible attribute to indicate whether the component should be viewable by the user in the rendered HTML page.
 
Methods inherited from class com.sun.rave.web.ui.component.TemplateComponentBase
getChild, getChild, getLayoutDefinition, getLayoutDefinitionKey, setLayoutDefinitionKey
 
Methods inherited from class javax.faces.component.UIComponentBase
addFacesListener, broadcast, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientId, getFacesContext, getFacesListeners, getFacet, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, isRendered, isTransient, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyBase

public PropertyBase()

Construct a new PropertyBase.

Method Detail

getFamily

public java.lang.String getFamily()

Return the family for this component.


isDisabled

public boolean isDisabled()

Flag indicating that the user is not permitted to activate this component, and that the component's value will not be submitted with the form.


setDisabled

public void setDisabled(boolean disabled)

Flag indicating that the user is not permitted to activate this component, and that the component's value will not be submitted with the form.

See Also:
isDisabled()

getHelpText

public java.lang.String getHelpText()

The help text will appear below the content of the "property". Optionally, the helpText may also be provided as a facet named "helpText". This allows advanced users to have more control over the types of content provided in the helpText area.


setHelpText

public void setHelpText(java.lang.String helpText)

The help text will appear below the content of the "property". Optionally, the helpText may also be provided as a facet named "helpText". This allows advanced users to have more control over the types of content provided in the helpText area.

See Also:
getHelpText()

getLabel

public java.lang.String getLabel()

Use this attribute to specify the text of the label of this property. The for attribute of the label will be the first input element in the content area of this component. To label a different component, use the label facet instead.


setLabel

public void setLabel(java.lang.String label)

Use this attribute to specify the text of the label of this property. The for attribute of the label will be the first input element in the content area of this component. To label a different component, use the label facet instead.

See Also:
getLabel()

getLabelAlign

public java.lang.String getLabelAlign()

Specifies the label alignment for the label of this component. The label itself may be added via the label property or the label facet. The value will typically be "left" or "right".


setLabelAlign

public void setLabelAlign(java.lang.String labelAlign)

Specifies the label alignment for the label of this component. The label itself may be added via the label property or the label facet. The value will typically be "left" or "right".

See Also:
getLabelAlign()

isNoWrap

public boolean isNoWrap()

Specifies if the label component should not wrap. The label itself may be added via the label property or the label facet.


setNoWrap

public void setNoWrap(boolean noWrap)

Specifies if the label component should not wrap. The label itself may be added via the label property or the label facet.

See Also:
isNoWrap()

isOverlapLabel

public boolean isOverlapLabel()

This indicates whether the property should overlap into the label area or not. Default: false -- do not extend into the label area.


setOverlapLabel

public void setOverlapLabel(boolean overlapLabel)

This indicates whether the property should overlap into the label area or not. Default: false -- do not extend into the label area.

See Also:
isOverlapLabel()

getStyle

public java.lang.String getStyle()

CSS style(s) to be applied when this component is rendered.


setStyle

public void setStyle(java.lang.String style)

CSS style(s) to be applied when this component is rendered.

See Also:
getStyle()

getStyleClass

public java.lang.String getStyleClass()

CSS style class(es) to be applied when this component is rendered.


setStyleClass

public void setStyleClass(java.lang.String styleClass)

CSS style class(es) to be applied when this component is rendered.

See Also:
getStyleClass()

isVisible

public boolean isVisible()

Use the visible attribute to indicate whether the component should be viewable by the user in the rendered HTML page. If set to false, the HTML code for the component is present in the page, but the component is hidden with style attributes. By default, visible is set to true, so HTML for the component HTML is included and visible to the user. If the component is not visible, it can still be processed on subsequent form submissions because the HTML is present.


setVisible

public void setVisible(boolean visible)

Use the visible attribute to indicate whether the component should be viewable by the user in the rendered HTML page. If set to false, the HTML code for the component is present in the page, but the component is hidden with style attributes. By default, visible is set to true, so HTML for the component HTML is included and visible to the user. If the component is not visible, it can still be processed on subsequent form submissions because the HTML is present.

See Also:
isVisible()

restoreState

public void restoreState(javax.faces.context.FacesContext _context,
                         java.lang.Object _state)

Restore the state of this component.

Specified by:
restoreState in interface javax.faces.component.StateHolder
Overrides:
restoreState in class TemplateComponentBase
Parameters:
_context - The FacesContext
_state - The serialized State

saveState

public java.lang.Object saveState(javax.faces.context.FacesContext _context)

Save the state of this component.

Specified by:
saveState in interface javax.faces.component.StateHolder
Overrides:
saveState in class TemplateComponentBase
Parameters:
_context - The FacesContext
Returns:
The serialized State