Package org.apache.tomcat.util.digester

## 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
`protected java.lang.String` `attributeName` The attribute containing an override class name if it is present.
`protected java.lang.String` `className` The Java class name of the object to be created.

### Fields inherited from class org.apache.tomcat.util.digester.Rule

`digester, namespaceURI, sm`

### Constructor Summary

Constructors
`ObjectCreateRule​(java.lang.String className)` Construct an object create rule with the specified class name.
`ObjectCreateRule​(java.lang.String className, java.lang.String attributeName)` Construct an object create rule with the specified class name and an optional attribute name containing an override.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `begin​(java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes attributes)` Process the beginning of this element.
`void` `end​(java.lang.String namespace, java.lang.String name)` Process the end of this element.
`protected java.lang.String` `getRealClassName​(org.xml.sax.Attributes attributes)` Return the actual class name of the class to be instantiated.
`java.lang.String` `toString()` Render a printable version of this Rule.

### Methods inherited from class org.apache.tomcat.util.digester.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 java.lang.String attributeName

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

#### className

    protected java.lang.String className

The Java class name of the object to be created.

### Constructor Detail

#### ObjectCreateRule

    public ObjectCreateRule​(java.lang.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​(java.lang.String className,
                            java.lang.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 Detail

#### begin

    public void begin​(java.lang.String namespace,
                      java.lang.String name,
                      org.xml.sax.Attributes attributes)
               throws java.lang.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:
  `java.lang.Exception` - if an error occurs while processing the event

#### getRealClassName

    protected java.lang.String getRealClassName​(org.xml.sax.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​(java.lang.String namespace,
                    java.lang.String name)
             throws java.lang.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:
  `java.lang.Exception` - if an error occurs while processing the event

#### toString

    public java.lang.String toString()

Render a printable version of this Rule.

Overrides:
  `toString` in class `java.lang.Object`