Class ObjectCreateRule
java.lang.Object
org.apache.commons.digester3.Rule
org.apache.commons.digester3.ObjectCreateRule
Rule implementation that creates a new object and pushes it onto the object stack. When the element is complete, the
object will be popped
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringThe attribute containing an override class name if it is present.protected StringThe Java class name of the object to be created.protected Class<?> The Java class of the object to be created.private Class<?>[]The constructor argument types.private Object[]The explictly specified default constructor arguments which may be overridden by CallParamRules.private ObjectCreateRule.ProxyManagerHelper object for managing proxies. -
Constructor Summary
ConstructorsConstructorDescriptionObjectCreateRule(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
Modifier and TypeMethodDescriptionvoidbegin(String namespace, String name, Attributes attributes) This method is called when the beginning of a matching XML element is encountered.private static voidvoidThis method is called when the end of a matching XML element is encountered.voidsetConstructorArgumentTypes(Class<?>... constructorArgumentTypes) Allows users to specify constructor argument types.voidsetDefaultConstructorArguments(Object... constructorArguments) Allows users to specify default constructor arguments.toString()Methods inherited from class Rule
body, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI
-
Field Details
-
attributeName
The attribute containing an override class name if it is present. -
clazz
The Java class of the object to be created. -
className
The Java class name of the object to be created. -
constructorArgumentTypes
-
defaultConstructorArguments
The explictly specified default constructor arguments which may be overridden by CallParamRules.- Since:
- 3.2
-
proxyManager
-
-
Constructor Details
-
ObjectCreateRule
Construct an object create rule with the specified class name.- Parameters:
className- Java class name of the object to be created
-
ObjectCreateRule
Construct an object create rule with the specified class.- Parameters:
clazz- Java class name of the object to be created
-
ObjectCreateRule
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 createdattributeName- Attribute name which, if present, contains an override of the class name to create
-
ObjectCreateRule
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 anclazz- Java class name of the object to be created override of the class name to create
-
-
Method Details
-
setConstructorArgumentTypes
Allows users to specify constructor argument types.- Parameters:
constructorArgumentTypes- the constructor argument types- Since:
- 3.2
-
setDefaultConstructorArguments
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 aCallParamRule, 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
This method is called when the beginning of a matching XML element is encountered.- Overrides:
beginin classRule- 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 namespacename- the local name if the parser is namespace aware, or just the element name otherwiseattributes- The attribute list of this element- Throws:
Exception- if any error occurs
-
end
This method is called when the end of a matching XML element is encountered.- Overrides:
endin classRule- 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 namespacename- the local name if the parser is namespace aware, or just the element name otherwise- Throws:
Exception- if any error occurs
-
toString
-
convertTo
-