Class StoreContextAppender

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

public class StoreContextAppender extends StoreAppender
store StandardContext Attributes ...
  • Constructor Details

    • StoreContextAppender

      public StoreContextAppender()
  • Method Details

    • 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
      Determine if the attribute value needs to be stored.
      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
    • 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: