Package org.apache.catalina.storeconfig

# Class StoreLoader

java.lang.Object
org.apache.catalina.storeconfig.StoreLoader

public class StoreLoader extends Object
XML Format

           <Registry name="" encoding="UTF-8" >
             <Description
                 tag="Server"
                 standard="true"
                 default="true"
                 tagClass="org.apache.catalina.core.StandardServer"
                 storeFactoryClass="org.apache.catalina.storeconfig.StandardServerSF">
               <TransientAttributes>
                 <Attribute></Attribute>
               </TransientAttributes>
               <TransientChildren>
                 <Child></Child>
               </TransientChildren>
             </Description>
       ...
           </Registry>

Convention:

- Factories at subpackage org.apache.catalina.core.storeconfig.xxxSF .
- Element name are the unique Class name
- SF for StoreFactory
- standard implementation is false

other things:

- Registry XML format is a very good option
- Store format is not fix
- We hope with the parent declaration we can build recursive child store operation //dream
- Problem is to access child data from array,collections or normal detail object
- Default definitions for Listener, Valve Resource? - Based on interface type!

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final Digester`
`digester`
The `Digester` instance used to parse registry descriptors.

## Constructor Summary

Constructors
Constructor
Description
`StoreLoader()`

## Method Summary

Modifier and Type
Method
Description
`protected static Digester`
`createDigester()`
Create and configure the Digester we will be using for setup store registry.
`StoreRegistry`
`getRegistry()`
`URL`
`getRegistryResource()`
`void`
`load()`
Load from defaults System Property URL catalina.storeregistry File ${catalina.base}/conf/server-registry.xml class resource org/apache/catalina/storeconfig/server-registry.xml
`void`
`load(String aURL)`
Load main configuration file from external source.
`protected File`
`serverFile(String aFile)`
Find main configuration file.
`void`
`setRegistry(StoreRegistry registry)`

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

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

## Field Details

### digester

protected static final Digester digester
The `Digester` instance used to parse registry descriptors.

## Constructor Details

### StoreLoader

public StoreLoader()

## Method Details

### getRegistry

public StoreRegistry getRegistry()

Returns:
  Returns the registry.

### setRegistry

public void setRegistry(StoreRegistry registry)

Parameters:
  `registry` - The registry to set.

### createDigester

protected static Digester createDigester()
Create and configure the Digester we will be using for setup store registry.

Returns:
  the XML digester that will be used to parse the configuration

### serverFile

protected File serverFile(String aFile)
Find main configuration file.

Parameters:
  `aFile` - File name, absolute or relative to `${catalina.base}/conf`, if not specified `server-registry.xml` is used
Returns:
  The file

### load

public void load(String aURL)
Load main configuration file from external source.

Parameters:
  `aURL` - URL to the configuration file

### load

public void load()
Load from defaults

- System Property URL catalina.storeregistry
- File ${catalina.base}/conf/server-registry.xml
- class resource org/apache/catalina/storeconfig/server-registry.xml

### getRegistryResource

public URL getRegistryResource()

Returns:
  the registryResource.