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
`protected static StringManager` `sm` The string manager for this package.

### Constructor Summary

Constructors
`StoreFactoryBase()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 an 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 an array of elements.

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