# Class ObjectCreateRule

java.lang.Object
org.apache.tomcat.util.digester.Rule
org.apache.tomcat.util.digester.ObjectCreateRule

Direct Known Subclasses:
  `ListenerCreateRule`

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

Fields
Modifier and Type
Field
Description
`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.

### Fields inherited from class Rule

`digester, namespaceURI, sm`

## Constructor Summary

Constructors
Constructor
Description
`ObjectCreateRule(String className)`
Construct an object create rule with the specified class name.
`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 Type
Method
Description
`void`
`begin(String namespace, String name, Attributes attributes)`
Process the beginning of this element.
`void`
`end(String namespace, String name)`
Process the end of this element.
`protected String`
`getRealClassName(Attributes attributes)`
Return the actual class name of the class to be instantiated.
`String`
`toString()`
Render a printable version of this Rule.

### Methods inherited from class Rule

`body, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### attributeName

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

### className

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

## Constructor Details

### 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(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

## Method Details

### begin

public void begin(String namespace, String name, Attributes attributes) throws Exception
Process the beginning of this element.

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 for this element
Throws:
  `Exception` - if an error occurs while processing the event

### getRealClassName

protected String getRealClassName(Attributes attributes)
Return the actual class name of the class to be instantiated.

Parameters:
  `attributes` - The attribute list for this element
Returns:
  the class name

### end

public void end(String namespace, String name) throws Exception
Process the end of this element.

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 an error occurs while processing the event

### toString

public String toString()
Render a printable version of this Rule.

Overrides:
  `toString` in class `Object`