org.apache.commons.digester3
Class ObjectCreateRule

java.lang.Object
  extended by org.apache.commons.digester3.Rule
      extended by org.apache.commons.digester3.ObjectCreateRule

public class ObjectCreateRule
extends Rule

Rule implementation that creates a new object and pushes it onto the object stack. When the element is complete, the object will be popped


Field Summary
protected  String attributeName
          The attribute containing an override class name if it is present.
protected  String className
          The Java class name of the object to be created.
protected  Class<?> clazz
          The Java class of the object to be created.
 
Constructor Summary
ObjectCreateRule(Class<?> clazz)
          Construct an object create rule with the specified class.
ObjectCreateRule(String className)
          Construct an object create rule with the specified class name.
ObjectCreateRule(String attributeName, Class<?> clazz)
          Construct an object create rule with the specified class and an optional attribute name containing an override.
ObjectCreateRule(String className, String attributeName)
          Construct an object create rule with the specified class name and an optional attribute name containing an override.
 
Method Summary
 void begin(String namespace, String name, Attributes attributes)
          This method is called when the beginning of a matching XML element is encountered.
 void end(String namespace, String name)
          This method is called when the end of a matching XML element is encountered.
 void setConstructorArgumentTypes(Class<?>... constructorArgumentTypes)
          Allows users to specify constructor argument types.
 void setDefaultConstructorArguments(Object... constructorArguments)
          Allows users to specify default constructor arguments.
 String toString()
          
 
Methods inherited from class org.apache.commons.digester3.Rule
body, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

attributeName

protected String attributeName
The attribute containing an override class name if it is present.


clazz

protected Class<?> clazz
The Java class of the object to be created.


className

protected String className
The Java class name of the object to be created.

Constructor Detail

ObjectCreateRule

public ObjectCreateRule(String className)
Construct an object create rule with the specified class name.

Parameters:
className - Java class name of the object to be created

ObjectCreateRule

public ObjectCreateRule(Class<?> clazz)
Construct an object create rule with the specified class.

Parameters:
clazz - Java class name of the object to be created

ObjectCreateRule

public ObjectCreateRule(String className,
                        String attributeName)
Construct an object create rule with the specified class name and an optional attribute name containing an override.

Parameters:
className - Java class name of the object to be created
attributeName - Attribute name which, if present, contains an override of the class name to create

ObjectCreateRule

public ObjectCreateRule(String attributeName,
                        Class<?> clazz)
Construct an object create rule with the specified class and an optional attribute name containing an override.

Parameters:
attributeName - Attribute name which, if present, contains an
clazz - Java class name of the object to be created override of the class name to create
Method Detail

setConstructorArgumentTypes

public void setConstructorArgumentTypes(Class<?>... constructorArgumentTypes)
Allows users to specify constructor argument types.

Parameters:
constructorArgumentTypes - the constructor argument types
Since:
3.2

setDefaultConstructorArguments

public void setDefaultConstructorArguments(Object... constructorArguments)
Allows users to specify default constructor arguments. If a default/no-arg constructor is not available for the target class, these arguments will be used to create the proxy object. For any argument not supplied by a CallParamRule, the corresponding item from this array will be used to construct the final object as well.

Parameters:
constructorArguments - the default constructor arguments.
Since:
3.2

begin

public void begin(String namespace,
                  String name,
                  Attributes attributes)
           throws Exception
This method is called when the beginning of a matching XML element is encountered.

Overrides:
begin in class Rule
Parameters:
namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
name - the local name if the parser is namespace aware, or just the element name otherwise
attributes - The attribute list of this element
Throws:
Exception - if any error occurs

end

public void end(String namespace,
                String name)
         throws Exception
This method is called when the end of a matching XML element is encountered.

Overrides:
end in class Rule
Parameters:
namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
name - the local name if the parser is namespace aware, or just the element name otherwise
Throws:
Exception - if any error occurs

toString

public String toString()

Overrides:
toString in class Object


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.