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
    Constructor and Description
    `StoreFactoryRule(String storeFactoryClass, String attributeName, String storeAppenderClass, String appenderAttributeName)` Construct a new instance of this Rule.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `begin(String namespace, String name, Attributes attributes)` Handle the beginning of an XML element.
    `protected Object` | `newInstance(String attr, String defaultName, 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(String storeFactoryClass,
                          String attributeName,
                          String storeAppenderClass,
                          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(String namespace,
                   String name,
                   Attributes attributes)
                     throws 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:
        `Exception` - if a processing error occurs

    - #### newInstance

          protected Object newInstance(String attr,
                           String defaultName,
                           Attributes attributes)
                                throws 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:
        `ReflectiveOperationException` - Error creating an instance

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.