All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.myfaces.trinidadinternal.ui.MutableUINode Maven / Gradle / Ivy

There is a newer version: 2.2.1
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.myfaces.trinidadinternal.ui;

/**
 * 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 $ * @deprecated This class comes from the old Java 1.2 UIX codebase and should not be used anymore. */ @Deprecated public interface MutableUINode extends UINode { /** * 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. *

* @param childIndex the zero-based index to add the child at. * @param child the new child node *

* @see #removeIndexedChild * @see #clearIndexedChildren * @see java.util.List#add */ public void addIndexedChild( int childIndex, 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. *

* @param child the new child node *

* @see #removeIndexedChild * @see #clearIndexedChildren * @see java.util.List#add */ public void addIndexedChild(UINode child); /** * Removes an indexed child from the node. * @param childIndex the zero-based index of the child to remove *

* @see #clearIndexedChildren * @see java.util.List#remove */ public UINode removeIndexedChild(int childIndex); /** * 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 #removeIndexedChild * @see java.util.Collection#clear */ public void clearIndexedChildren(); /** * 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. *

* @param childIndex the zero-based index to add the child at. * @param child the new child node *

* @see #removeIndexedChild */ public void replaceIndexedChild( int childIndex, UINode child); /** * Sets a named child on the node. Any node attached with * that name will be removed. *

* @param childName the name of the child * @param namedChild the child; passing null will remove any existing * UINode with that name. */ public void setNamedChild( String childName, UINode namedChild); /** * Sets an attribute value of the node. * @param name the name of the attribute * @param value the new value; passing null will remove any * existing attribute with that name. */ public void setAttributeValue( AttributeKey attrKey, Object value); /** * 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 * */ public void setID(String id); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy