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
    Constructor and Description
    `StoreContextAppender()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `defaultInstance(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 File` | `getAppBase(StandardHost host)`
    `protected String` | `getDefaultWorkDir(StandardContext context)` Make default Work Dir.
    `protected File` | `getDocBase(StandardContext context, File appBase)`
    `boolean` | `isPrintValue(Object bean, Object bean2, String attrName, StoreDescription desc)` Print Context Values.
    `protected void` | `printAttribute(PrintWriter writer, int indent, Object bean, StoreDescription desc, String attributeName, Object bean2, Object value)` Store the specified of the specified JavaBean.

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

      `checkAttribute, convertStr, 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(PrintWriter writer,
                            int indent,
                            Object bean,
                            StoreDescription desc,
                            String attributeName,
                            Object bean2,
                            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(Object bean,
                             Object bean2,
                             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 File getAppBase(StandardHost host)

    - #### getDocBase

          protected File getDocBase(StandardContext context,
                        File appBase)

    - #### getDefaultWorkDir

          protected String getDefaultWorkDir(StandardContext context)

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

    - #### defaultInstance

          public Object defaultInstance(Object bean)
                                 throws 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:
        `ReflectiveOperationException` - Error creating a new instance
      See Also:
        `StoreAppender.defaultInstance(java.lang.Object)`

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