Package org.apache.commons.digester3
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 class
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
The attribute containing an override class name if it is present.protected String
The 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.ProxyManager
Helper 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 TypeMethodDescriptionvoid
begin
(String namespace, String name, Attributes attributes) This method is called when the beginning of a matching XML element is encountered.private static void
void
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.toString()
Methods inherited from class org.apache.commons.digester3.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
The constructor argument types.- Since:
- 3.2
-
defaultConstructorArguments
The explictly specified default constructor arguments which may be overridden by CallParamRules.- Since:
- 3.2
-
proxyManager
Helper object for managing proxies.- Since:
- 3.2
-
-
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:
begin
in 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:
end
in 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
-