org.apache.myfaces.trinidadinternal.ui
Interface MutableUINode

All Superinterfaces:
UINode
All Known Subinterfaces:
MessageBean
All Known Implementing Classes:
BaseMutableUINode, BaseWebBean, ContextPropertyUINode, HTMLWebBean, MarlinBean, RepeatIdContextPropertyUINode

public interface MutableUINode
extends UINode

MutableUINode extends UINode to add mutability. Most WebBeans will inherit from this class, but Renderers only see that immutable UINode interface.

The indexed children manipulation methods--addIndexedChild, removeIndexedChild, and clearIndexedChildren. follow the same semantics as the indexed methods from the Java Collections List and Collection classes respectively.

Version:
$Name: $ ($Revision: adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/ui/MutableUINode.java#0 $) $Date: 10-nov-2005.18:50:14 $
Author:
The Oracle ADF Faces Team

Method Summary
 void addIndexedChild(int childIndex, UINode child)
          Inserts an indexed child to the node.
 void addIndexedChild(UINode child)
          Inserts an indexed child to the node, placing after all other nodes.
 void clearIndexedChildren()
          Removes all of the indexed children.
 UINode removeIndexedChild(int childIndex)
          Removes an indexed child from the node.
 void replaceIndexedChild(int childIndex, UINode child)
          Replaces a single child.
 void setAttributeValue(AttributeKey attrKey, java.lang.Object value)
          Sets an attribute value of the node.
 void setID(java.lang.String id)
          Sets the page-wide unique client ID of this node.
 void setNamedChild(java.lang.String childName, UINode namedChild)
          Sets a named child on the node.
 
Methods inherited from interface org.apache.myfaces.trinidadinternal.ui.UINode
getAttributeNames, getAttributeValue, getChildNames, getIndexedChild, getIndexedChildCount, getLocalName, getNamedChild, getNamespaceURI, getNodeRole, getRawAttributeValue, getUIComponent, render, render
 

Method Detail

addIndexedChild

void addIndexedChild(int childIndex,
                     UINode child)
Inserts an indexed child to the node. Shifts the element currently at that position, if any, and any subsequent elements to the right (adds one to their indices). Children may be added to the end of the list of indexed children with the second version of addIndexedChild().

Unlike many other APIs, adding a child does not remove it from any other parent nodes. In fact, the same child UINode instance is allowed to appear in multiple different indices of the same parent UINode.

Parameters:
childIndex - the zero-based index to add the child at.
child - the new child node

See Also:
removeIndexedChild(int), clearIndexedChildren(), List.add(E)

addIndexedChild

void addIndexedChild(UINode child)
Inserts an indexed child to the node, placing after all other nodes.

Unlike many other APIs, adding a child does not remove it from any other parent nodes. In fact, the same child UINode instance is allowed to appear in multiple different indices of the same parent UINode.

Parameters:
child - the new child node

See Also:
removeIndexedChild(int), clearIndexedChildren(), List.add(E)

removeIndexedChild

UINode removeIndexedChild(int childIndex)
Removes an indexed child from the node.

Parameters:
childIndex - the zero-based index of the child to remove

See Also:
clearIndexedChildren(), List.remove(java.lang.Object)

clearIndexedChildren

void clearIndexedChildren()
Removes all of the indexed children.

Although this method could be implemented in terms of removeIndexedChild, it is present on this interface in order to allow for more efficient implementations.

See Also:
removeIndexedChild(int), Collection.clear()

replaceIndexedChild

void replaceIndexedChild(int childIndex,
                         UINode child)
Replaces a single child.

Although this method could be implemented in terms of addIndexedChild and removeIndexedChild, it is present on this interface in order to allow for more efficient implementations.

Parameters:
childIndex - the zero-based index to add the child at.
child - the new child node

See Also:
removeIndexedChild(int)

setNamedChild

void setNamedChild(java.lang.String childName,
                   UINode namedChild)
Sets a named child on the node. Any node attached with that name will be removed.

Parameters:
childName - the name of the child
namedChild - the child; passing null will remove any existing UINode with that name.

setAttributeValue

void setAttributeValue(AttributeKey attrKey,
                       java.lang.Object value)
Sets an attribute value of the node.

Parameters:
name - the name of the attribute
value - the new value; passing null will remove any existing attribute with that name.

setID

void setID(java.lang.String id)
Sets the page-wide unique client ID of this node. The string set must comply with the XML id specification--namely it must begin with a [a-z][A-z] and after that can contain as many of [a-z][A-Z][0-9][._-:] as desired.

This property is typically only needed when writing client-side JavaScript.

This method is only present on this interface for backwards compatibility and will be removed from this interface in a future version of UIX Components and moved to org.apache.myfaces.trinidadinternal.ui.beans.BaseWebBean



Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.