Package org.apache.catalina.storeconfig

## Class StoreContextAppender

- java.lang.Object
- - org.apache.catalina.storeconfig.StoreAppender
  - - org.apache.catalina.storeconfig.StoreContextAppender

    public class StoreContextAppender
    extends StoreAppender

store StandardContext Attributes ...

### Constructor Summary

Constructors
`StoreContextAppender()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `defaultInstance​(java.lang.Object bean)` Generate a real default StandardContext TODO read and interpret the default context.xml and context.xml.default TODO Cache a Default StandardContext ( with reloading strategy) TODO remove really all elements, but detection is hard...
`protected java.io.File` `getAppBase​(StandardHost host)`
`protected java.lang.String` `getDefaultWorkDir​(StandardContext context)` Make default Work Dir.
`protected java.io.File` `getDocBase​(StandardContext context, java.io.File appBase)`
`boolean` `isPrintValue​(java.lang.Object bean, java.lang.Object bean2, java.lang.String attrName, StoreDescription desc)` Print Context Values.
`protected void` `printAttribute​(java.io.PrintWriter writer, int indent, java.lang.Object bean, StoreDescription desc, java.lang.String attributeName, java.lang.Object bean2, java.lang.Object value)` Store the specified of the specified JavaBean.

### Methods inherited from class org.apache.catalina.storeconfig.StoreAppender

`checkAttribute, isPersistable, printAttributes, printAttributes, printCloseTag, printIndent, printOpenTag, printTag, printTagArray, printTagContent, printTagValueArray, printValue`

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

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

### Constructor Detail

#### StoreContextAppender

    public StoreContextAppender()

### Method Detail

#### printAttribute

    protected void printAttribute​(java.io.PrintWriter writer,
                                  int indent,
                                  java.lang.Object bean,
                                  StoreDescription desc,
                                  java.lang.String attributeName,
                                  java.lang.Object bean2,
                                  java.lang.Object value)

Store the specified of the specified JavaBean. Adds special handling for `docBase`.

Overrides:
  `printAttribute` in class `StoreAppender`
Parameters:
  `writer` - PrintWriter to which we are storing
  `indent` - Indentation level
  `bean` - The current bean
  `desc` - RegistryDescriptor from this bean
  `attributeName` - The attribute name to store
  `bean2` - A default instance of the bean for comparison
  `value` - The attribute value

#### isPrintValue

    public boolean isPrintValue​(java.lang.Object bean,
                                java.lang.Object bean2,
                                java.lang.String attrName,
                                StoreDescription desc)

Print Context Values.

- Special handling to default workDir.
- Don't save path at external context.xml
- Don't generate docBase for host.appBase webapps

Overrides:
  `isPrintValue` in class `StoreAppender`
Parameters:
  `bean` - original bean
  `bean2` - default bean
  `attrName` - attribute name
  `desc` - StoreDescription from bean
Returns:
  `true` if the value should be stored
See Also:
  `StoreAppender.isPrintValue(java.lang.Object, java.lang.Object, java.lang.String, org.apache.catalina.storeconfig.StoreDescription)`

#### getAppBase

    protected java.io.File getAppBase​(StandardHost host)

#### getDocBase

    protected java.io.File getDocBase​(StandardContext context,
                                      java.io.File appBase)

#### getDefaultWorkDir

    protected java.lang.String getDefaultWorkDir​(StandardContext context)

Make default Work Dir.

Parameters:
  `context` - The context
Returns:
  The default working directory for the context.

#### defaultInstance

    public java.lang.Object defaultInstance​(java.lang.Object bean)
                                     throws java.lang.ReflectiveOperationException

Generate a real default StandardContext TODO read and interpret the default context.xml and context.xml.default TODO Cache a Default StandardContext ( with reloading strategy) TODO remove really all elements, but detection is hard... To Listener or Valve from same class?

Overrides:
  `defaultInstance` in class `StoreAppender`
Parameters:
  `bean` - The bean
Returns:
  an object from same class as bean parameter
Throws:
  `java.lang.ReflectiveOperationException` - Error creating a new instance
See Also:
  `StoreAppender.defaultInstance(java.lang.Object)`