|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.myfaces.trinidadinternal.ui.BaseUINode
public class BaseUINode
Root implementation for storing a node of a UIX Components UI tree.
Field Summary |
---|
Constructor Summary | |
---|---|
BaseUINode(java.lang.String namespaceURI,
java.lang.String localName)
Creates a BaseUINode, binding it to a namespace and local name. |
Method Summary | |
---|---|
protected AttributeMap |
getAttributeMap(boolean createIfNull)
Returns the AttributeMap used to store attributes. |
java.util.Iterator<AttributeKey> |
getAttributeNames(UIXRenderingContext context)
Returns an Iterator of the names that attribute values have been added under. |
java.lang.Object |
getAttributeValue(UIXRenderingContext context,
AttributeKey attrKey)
Returns the value of the attribute with the specified name in the RenderingContext. |
protected java.lang.Object |
getAttributeValueImpl(UIXRenderingContext context,
AttributeKey attrKey,
boolean returnBoundValue)
Bottleneck method for all attribute getting. |
protected UINode[] |
getChildArray()
Returns the child array used to retrieve indexed children from the node. |
java.util.Iterator<java.lang.String> |
getChildNames(UIXRenderingContext context)
Returns an Iterator of the names that named children have been added under. |
UINode |
getIndexedChild(UIXRenderingContext context,
int childIndex)
Returns the indexed child at the specified index. |
int |
getIndexedChildCount(UIXRenderingContext context)
Returns the number of indexed children in this UINode. |
protected UINodeList |
getIndexedNodeList(boolean createIfNull)
Returns the UINodeList used to retrieve indexed children from the node. |
java.lang.String |
getLocalName()
Name used to distinguish the name of a UINode within a namespace. |
UINode |
getNamedChild(UIXRenderingContext context,
java.lang.String childName)
Returns the child identified by childName. |
protected ContextMap |
getNamedChildMap(boolean createIfNull)
Returns the dictionary used to store named children. |
java.lang.String |
getNamespaceURI()
The namespace URI that segregates the local name of this UINode so that nodes with the same local name will not clash. |
NodeRole |
getNodeRole(UIXRenderingContext context)
Returns the role that this node occupies. |
java.lang.Object |
getRawAttributeValue(UIXRenderingContext context,
AttributeKey attrKey)
Returns the value of the attribute with a specified name, without attempting to further resolve that value - as if , for instance, it might be a BoundValue. |
protected UINode |
getRenderedUINode(UIXRenderingContext context)
Returns the UINode to render and to use to dtermine the renderer. |
protected Renderer |
getRenderer(UIXRenderingContext context)
|
protected Renderer |
getRenderer(UIXRenderingContext context,
UINode dataNode)
Returns the Renderer used to render this UINode. |
javax.faces.component.UIComponent |
getUIComponent()
Returns the UIComponent that this node represents, or null if it is not attached to a UIComponent. |
void |
render(UIXRenderingContext context)
Renders this UINode. |
void |
render(UIXRenderingContext context,
UINode dataNode)
Renders this UINode. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public BaseUINode(java.lang.String namespaceURI, java.lang.String localName)
Method Detail |
---|
public javax.faces.component.UIComponent getUIComponent()
UINode
getUIComponent
in interface UINode
public java.lang.String getNamespaceURI()
Any namespace String returned by this method should be interned for maximum performance. This allows namespace comparisons to be performed using object identity, versus the slower object equality. If the String returned is a String constant, the Java VM will have done this for you automatically.
As with all namespace URI's, this name is only used as an identifier. No other sematics are implied.
The RendererManager
allows RendererFactory
s to
be registered by namespace.
getNamespaceURI
in interface UINode
getLocalName()
,
RendererManager
,
RendererFactory
public java.lang.String getLocalName()
Together with the UINode's namespace URI, the local name is typically used to determine which Renderer to use to render the UINode.
getLocalName
in interface UINode
public int getIndexedChildCount(UIXRenderingContext context)
getIndexedChildCount
in interface UINode
UINode.getIndexedChild(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext, int)
public UINode getIndexedChild(UIXRenderingContext context, int childIndex)
If the UINode is mutable and may be modified and read in different threads, it is the programmer's responsibility to ensure proper synchronization.
getIndexedChild
in interface UINode
getIndexedChildCount(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext)
public UINode getNamedChild(UIXRenderingContext context, java.lang.String childName)
Constants for named children used by UIX Components UINodes may be found in
the UIConstants interface. The constants for the named children follow
the pattern <xxx>_CHILD
.
If the UINode is mutable and may be modified and read in different threads, it is the programmer's responsibility to ensure proper synchronization.
getNamedChild
in interface UINode
getChildNames(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext)
,
UIConstants
public java.util.Iterator<java.lang.String> getChildNames(UIXRenderingContext context)
getNamedChild
.
If the UINode is mutable and may be modified and read in different threads, it is the programmer's responsibility to ensure proper synchronization.
getChildNames
in interface UINode
getNamedChild(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext, java.lang.String)
public final java.lang.Object getAttributeValue(UIXRenderingContext context, AttributeKey attrKey)
null
will be returned.
Note that as with indexed children and named children, the presence of of an attribute is no guarantee that the Renderer used to render this UINode will actually use the attribute. The presence of attributes should only be considered as hints to the Renderer.
If the UINode is mutable and may be modified and read in different threads, it is the programmer's responsibility to ensure proper synchronization.
getAttributeValue
in interface UINode
getAttributeNames(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext)
public final java.lang.Object getRawAttributeValue(UIXRenderingContext context, AttributeKey attrKey)
UINode
getRawAttributeValue
in interface UINode
BoundValue
public java.util.Iterator<AttributeKey> getAttributeNames(UIXRenderingContext context)
getAttributeValue
.
If the UINode is mutable and may be modified and read in different threads, it is the programmer's responsibility to ensure proper synchronization.
getAttributeNames
in interface UINode
getAttributeValue(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext, org.apache.myfaces.trinidadinternal.ui.AttributeKey)
public NodeRole getNodeRole(UIXRenderingContext context)
getNodeRole
in interface UINode
public final void render(UIXRenderingContext context) throws java.io.IOException
render
in interface UINode
java.io.IOException
public void render(UIXRenderingContext context, UINode dataNode) throws java.io.IOException
render
in interface UINode
java.io.IOException
protected final Renderer getRenderer(UIXRenderingContext context)
protected Renderer getRenderer(UIXRenderingContext context, UINode dataNode)
getRenderer
to return any Renderer it wishes. An example
of this is TextNode
, which always returns
TextRenderer
as its renderer.
public java.lang.String toString()
toString
in class java.lang.Object
protected final UINode[] getChildArray()
getIndexedChild()
and
getIndexedChildCount()
will use the result of this
method - if not implemented, subclasses must override both
of those methods. Subclasses should not copy the array - so
subclasses must be extremely careful when modifying this array
or returning to "untrusted" classes.
getIndexedChild(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext, int)
,
getIndexedChildCount(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext)
protected ContextMap getNamedChildMap(boolean createIfNull)
createIfNull
- if true, the subclass should create
a NamedChildMap object if one has not yet been created.protected AttributeMap getAttributeMap(boolean createIfNull)
createIfNull
- if true, the subclass must create
a Dictionary object if one has not yet been created.protected UINodeList getIndexedNodeList(boolean createIfNull)
getIndexedChild()
and
getIndexedChildCount()
will use the result of this
method - if not implemented, subclasses must override both
of those methods. Subclasses should not clone the UINodeList - so
subclasses must be extremely careful when modifying this list
or returning to "untrusted" classes.
getIndexedChild(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext, int)
,
getIndexedChildCount(org.apache.myfaces.trinidadinternal.ui.UIXRenderingContext)
protected java.lang.Object getAttributeValueImpl(UIXRenderingContext context, AttributeKey attrKey, boolean returnBoundValue)
protected UINode getRenderedUINode(UIXRenderingContext context)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |