Package org.apache.catalina.storeconfig

## Class StoreFactoryBase

- java.lang.Object
- - org.apache.catalina.storeconfig.StoreFactoryBase

- All Implemented Interfaces:
    `IStoreFactory`
  Direct Known Subclasses:
    `CatalinaClusterSF`, `ChannelSF`, `ConnectorSF`, `CredentialHandlerSF`, `GlobalNamingResourcesSF`, `InterceptorSF`, `JarScannerSF`, `LoaderSF`, `ManagerSF`, `NamingResourcesSF`, `OpenSSLConfSF`, `PersistentManagerSF`, `RealmSF`, `SenderSF`, `SSLHostConfigSF`, `StandardContextSF`, `StandardEngineSF`, `StandardHostSF`, `StandardServerSF`, `StandardServiceSF`, `WatchedResourceSF`, `WebResourceRootSF`, `WrapperLifecycleSF`, `WrapperListenerSF`

      public class StoreFactoryBase
      extends java.lang.Object
      implements IStoreFactory

  StoreFactory saves special elements. Output was generate with StoreAppenders.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static StringManager` | `sm` | The string manager for this package.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StoreFactoryBase()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getInfo()` |
    `StoreRegistry` | `getRegistry()` | get Registry
    `StoreAppender` | `getStoreAppender()` |
    `void` | `setRegistry​(StoreRegistry aRegistry)` | Set Registry
    `void` | `setStoreAppender​(StoreAppender storeAppender)` |
    `void` | `store​(java.io.PrintWriter aWriter, int indent, java.lang.Object aElement)` | Store a server.xml element with attributes and children
    `void` | `storeChildren​(java.io.PrintWriter aWriter, int indent, java.lang.Object aElement, StoreDescription elementDesc)` | Must Implement at subclass for custom store children handling.
    `protected void` | `storeElement​(java.io.PrintWriter aWriter, int indent, java.lang.Object aTagElement)` | Store only elements from storeChildren methods that are not a transient child.
    `protected void` | `storeElementArray​(java.io.PrintWriter aWriter, int indent, java.lang.Object[] elements)` | Save a array of elements.
    `void` | `storeXMLHead​(java.io.PrintWriter aWriter)` |

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

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

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

      The string manager for this package.

  - ### Constructor Detail

    - #### StoreFactoryBase

          public StoreFactoryBase()

  - ### Method Detail

    - #### getInfo

          public java.lang.String getInfo()

      Returns:
        descriptive information about this Factory implementation and the corresponding version number, in the format `<description>/<version>`.

    - #### getStoreAppender

          public StoreAppender getStoreAppender()

      Specified by:
        `getStoreAppender` in interface `IStoreFactory`
      Returns:
        Returns the storeAppender.

    - #### setStoreAppender

          public void setStoreAppender​(StoreAppender storeAppender)

      Specified by:
        `setStoreAppender` in interface `IStoreFactory`
      Parameters:
        `storeAppender` - The storeAppender to set.

    - #### setRegistry

          public void setRegistry​(StoreRegistry aRegistry)

      Set Registry
      Specified by:
        `setRegistry` in interface `IStoreFactory`
      See Also:
        `IStoreFactory.setRegistry(org.apache.catalina.storeconfig.StoreRegistry)`

    - #### getRegistry

          public StoreRegistry getRegistry()

      get Registry
      Specified by:
        `getRegistry` in interface `IStoreFactory`
      See Also:
        `IStoreFactory.getRegistry()`

    - #### storeXMLHead

          public void storeXMLHead​(java.io.PrintWriter aWriter)

      Specified by:
        `storeXMLHead` in interface `IStoreFactory`

    - #### store

          public void store​(java.io.PrintWriter aWriter,
                            int indent,
                            java.lang.Object aElement)
                     throws java.lang.Exception

      Store a server.xml element with attributes and children
      Specified by:
        `store` in interface `IStoreFactory`
      Throws:
        `java.lang.Exception`
      See Also:
        `IStoreFactory.store(java.io.PrintWriter, int, java.lang.Object)`

    - #### storeChildren

          public void storeChildren​(java.io.PrintWriter aWriter,
                                    int indent,
                                    java.lang.Object aElement,
                                    StoreDescription elementDesc)
                             throws java.lang.Exception

      Must Implement at subclass for custom store children handling.
      Parameters:
        `aWriter` - Current output writer
        `indent` - Indentation level
        `aElement` - Current element
        `elementDesc` - The element description
      Throws:
        `java.lang.Exception` - Configuration storing error

    - #### storeElement

          protected void storeElement​(java.io.PrintWriter aWriter,
                                      int indent,
                                      java.lang.Object aTagElement)
                               throws java.lang.Exception

      Store only elements from storeChildren methods that are not a transient child.
      Parameters:
        `aWriter` - Current output writer
        `indent` - Indentation level
        `aTagElement` - Current element
      Throws:
        `java.lang.Exception` - Configuration storing error

    - #### storeElementArray

          protected void storeElementArray​(java.io.PrintWriter aWriter,
                                           int indent,
                                           java.lang.Object[] elements)
                                    throws java.lang.Exception

      Save a array of elements.
      Parameters:
        `aWriter` - Current output writer
        `indent` - Indentation level
        `elements` - Array of elements
      Throws:
        `java.lang.Exception` - Configuration storing error