Package org.apache.catalina.storeconfig

## Class StoreFactoryRule

- java.lang.Object
- - org.apache.tomcat.util.digester.Rule
  - - org.apache.catalina.storeconfig.StoreFactoryRule

    public class StoreFactoryRule
    extends Rule

Rule that creates a new `IStoreFactory` instance, and associates it with the top object on the stack (which must implement `IStoreFactory`).

### Field Summary

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

`digester, namespaceURI`

### Constructor Summary

Constructors
`StoreFactoryRule​(java.lang.String storeFactoryClass, java.lang.String attributeName, java.lang.String storeAppenderClass, java.lang.String appenderAttributeName)` Construct a new instance of this Rule.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `begin​(java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes attributes)` Handle the beginning of an XML element.
`protected java.lang.Object` `newInstance​(java.lang.String attr, java.lang.String defaultName, org.xml.sax.Attributes attributes)` Create new instance from attribute className!

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

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

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### StoreFactoryRule

    public StoreFactoryRule​(java.lang.String storeFactoryClass,
                            java.lang.String attributeName,
                            java.lang.String storeAppenderClass,
                            java.lang.String appenderAttributeName)

Construct a new instance of this Rule.

Parameters:
  `storeFactoryClass` - Default name of the StoreFactory implementation class to be created
  `attributeName` - Name of the attribute that optionally includes an override name of the IStoreFactory class
  `storeAppenderClass` - The store appender class
  `appenderAttributeName` - The attribute name for the store appender class

### Method Detail

#### begin

    public void begin​(java.lang.String namespace,
                      java.lang.String name,
                      org.xml.sax.Attributes attributes)
               throws java.lang.Exception

Handle the beginning of an XML element.

Overrides:
  `begin` in class `Rule`
Parameters:
  `namespace` - XML namespace
  `name` - The element name
  `attributes` - The attributes of this element
Throws:
  `java.lang.Exception` - if a processing error occurs

#### newInstance

    protected java.lang.Object newInstance​(java.lang.String attr,
                                           java.lang.String defaultName,
                                           org.xml.sax.Attributes attributes)
                                    throws java.lang.ReflectiveOperationException

Create new instance from attribute className!

Parameters:
  `attr` - class Name attribute
  `defaultName` - Default Class
  `attributes` - current digester attribute elements
Returns:
  new configured object instance
Throws:
  `java.lang.ReflectiveOperationException` - Error creating an instance