org.apache.tools.ant

Class RuntimeConfigurable

public class RuntimeConfigurable extends Object implements Serializable

Wrapper class that holds the attributes of an element, its children, and any text within it. It then takes care of configuring that element at runtime.
Constructor Summary
RuntimeConfigurable(Object proxy, String elementTag)
Sole constructor creating a wrapper for the specified object.
Method Summary
voidaddChild(RuntimeConfigurable child)
Adds a child element to the wrapped element.
voidaddText(String data)
Adds characters from #PCDATA areas to the wrapped element.
voidaddText(char[] buf, int start, int count)
Adds characters from #PCDATA areas to the wrapped element.
voidapplyPreSet(RuntimeConfigurable r)
Apply presets, attributes and text are set if not currently set. nested elements are prepended.
HashtablegetAttributeMap()
Return the attribute map.
AttributeListgetAttributes()
Returns the list of attributes for the wrapped element.
EnumerationgetChildren()
Returns an enumeration of all child wrappers.
StringgetElementTag()
Returns the tag name of the wrapped element.
StringgetPolyType()
get the polymorphic type for this element
ObjectgetProxy()
Get the object for which this RuntimeConfigurable holds the configuration information
StringBuffergetText()
Get the text content of this element.
voidmaybeConfigure(Project p)
Configures the wrapped element and all its children.
voidmaybeConfigure(Project p, boolean configureChildren)
Configures the wrapped element.
voidreconfigure(Project p)
Reconfigure the element, even if it has already been configured.
voidsetAttribute(String name, String value)
Set an attribute to a given value
voidsetAttributes(AttributeList attributes)
Sets the attributes for the wrapped element.
voidsetPolyType(String polyType)
set the polymorphic type for this element
voidsetProxy(Object proxy)
Sets the element to configure.

Constructor Detail

RuntimeConfigurable

public RuntimeConfigurable(Object proxy, String elementTag)
Sole constructor creating a wrapper for the specified object.

Parameters: proxy The element to configure. Must not be null. elementTag The tag name generating this element. Should not be null.

Method Detail

addChild

public void addChild(RuntimeConfigurable child)
Adds a child element to the wrapped element.

Parameters: child The child element wrapper to add to this one. Must not be null.

addText

public void addText(String data)
Adds characters from #PCDATA areas to the wrapped element.

Parameters: data Text to add to the wrapped element. Should not be null.

addText

public void addText(char[] buf, int start, int count)
Adds characters from #PCDATA areas to the wrapped element.

Parameters: buf A character array of the text within the element. Must not be null. start The start element in the array. count The number of characters to read from the array.

applyPreSet

public void applyPreSet(RuntimeConfigurable r)
Apply presets, attributes and text are set if not currently set. nested elements are prepended.

Parameters: r a RuntimeConfigurable value

getAttributeMap

public Hashtable getAttributeMap()
Return the attribute map.

Returns: Attribute name to attribute value map

Since: Ant 1.6

getAttributes

public AttributeList getAttributes()

Deprecated: Deprecated since Ant 1.6 in favor of {@link #getAttributeMap}.

Returns the list of attributes for the wrapped element.

Returns: An AttributeList representing the attributes defined in the XML for this element. May be null.

getChildren

public Enumeration getChildren()
Returns an enumeration of all child wrappers.

Returns: an enumeration of the child wrappers.

Since: Ant 1.6

getElementTag

public String getElementTag()
Returns the tag name of the wrapped element.

Returns: The tag name of the wrapped element. This is unlikely to be null, but may be.

getPolyType

public String getPolyType()
get the polymorphic type for this element

Returns: the ant component type name, null if not set

getProxy

public Object getProxy()
Get the object for which this RuntimeConfigurable holds the configuration information

Returns: the object whose configure is held by this instance.

getText

public StringBuffer getText()
Get the text content of this element. Various text chunks are concatenated, there is no way ( currently ) of keeping track of multiple fragments.

Returns: the text content of this element.

Since: Ant 1.6

maybeConfigure

public void maybeConfigure(Project p)
Configures the wrapped element and all its children. The attributes and text for the wrapped element are configured, and then each child is configured and added. Each time the wrapper is configured, the attributes and text for it are reset. If the element has an id attribute, a reference is added to the project as well.

Parameters: p The project containing the wrapped element. Must not be null.

Throws: BuildException if the configuration fails, for instance due to invalid attributes or children, or text being added to an element which doesn't accept it.

maybeConfigure

public void maybeConfigure(Project p, boolean configureChildren)
Configures the wrapped element. The attributes and text for the wrapped element are configured. Each time the wrapper is configured, the attributes and text for it are reset. If the element has an id attribute, a reference is added to the project as well.

Parameters: p The project containing the wrapped element. Must not be null. configureChildren Whether to configure child elements as well. if true, child elements will be configured after the wrapped element.

Throws: BuildException if the configuration fails, for instance due to invalid attributes or children, or text being added to an element which doesn't accept it.

reconfigure

public void reconfigure(Project p)
Reconfigure the element, even if it has already been configured.

Parameters: p the project instance for this configuration.

setAttribute

public void setAttribute(String name, String value)
Set an attribute to a given value

Parameters: name the name of the attribute. value the attribute's value.

setAttributes

public void setAttributes(AttributeList attributes)

Deprecated:

Sets the attributes for the wrapped element.

Parameters: attributes List of attributes defined in the XML for this element. May be null.

setPolyType

public void setPolyType(String polyType)
set the polymorphic type for this element

Parameters: polyType the ant component type name, null if not set

setProxy

public void setProxy(Object proxy)
Sets the element to configure.

Parameters: proxy The element to configure. Must not be null.

Copyright B) 2000-2007 Apache Software Foundation. All Rights Reserved.