org.apache.catalina.storeconfig

## Class StandardContextSF

- java.lang.Object
- - org.apache.catalina.storeconfig.StoreFactoryBase
  - - org.apache.catalina.storeconfig.StandardContextSF

- All Implemented Interfaces:
    IStoreFactory

      public class StandardContextSF
      extends StoreFactoryBase

  Store server.xml Context element with all children
  - Store all context at server.xml
  - Store existing app.xml context a conf/enginename/hostname/app.xml
  - Store with backup

- - ### Field Summary

    - ### Fields inherited from class org.apache.catalina.storeconfig.StoreFactoryBase

      `sm`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardContextSF()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected File` | `configBase(Context context)` Return a File object representing the "configuration root" directory for our associated Host.
    `protected String[]` | `filterWatchedResources(StandardContext context, String[] wresources)` Filter out the default watched resources, to remove standard ones.
    `protected StoreFileMover` | `getConfigFileWriter(Context context)` Get explicit writer for context (context.getConfigFile()).
    `void` | `store(PrintWriter aWriter, int indent, Object aContext)` Store a Context as Separate file as configFile value from context exists.
    `void` | `storeChildren(PrintWriter aWriter, int indent, Object aContext, StoreDescription parentDesc)` Store the specified context element children.
    `protected void` | `storeContextSeparate(PrintWriter aWriter, int indent, StandardContext aContext)` Store a Context without backup add separate file or when configFile = null a aWriter.
    `protected void` | `storeWithBackup(StandardContext aContext)` Store the Context with a Backup.

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

      `getInfo, getRegistry, getStoreAppender, setRegistry, setStoreAppender, storeElement, storeElementArray, storeXMLHead`

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

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

- - ### Constructor Detail

    - #### StandardContextSF

          public StandardContextSF()

  - ### Method Detail

    - #### store

          public void store(PrintWriter aWriter,
                            int indent,
                            Object aContext)
                     throws Exception

      Store a Context as Separate file as configFile value from context exists. filename can be relative to catalina.base.
      Specified by:
        `store` in interface `IStoreFactory`
      Overrides:
        `store` in class `StoreFactoryBase`
      Throws:
        `Exception`
      See Also:
        `IStoreFactory.store(java.io.PrintWriter, int, java.lang.Object)`

    - #### storeContextSeparate

          protected void storeContextSeparate(PrintWriter aWriter,
                                              int indent,
                                              StandardContext aContext)
                                       throws Exception

      Store a Context without backup add separate file or when configFile = null a aWriter.
      Parameters:
        `aWriter` - Current output writer
        `indent` - Indentation level
        `aContext` - The context which will be stored
      Throws:
        `Exception` - Configuration storing error

    - #### storeWithBackup

          protected void storeWithBackup(StandardContext aContext)
                                  throws Exception

      Store the Context with a Backup.
      Parameters:
        `aContext` - The context which will be stored
      Throws:
        `Exception` - Configuration storing error

    - #### getConfigFileWriter

          protected StoreFileMover getConfigFileWriter(Context context)
                                                throws Exception

      Get explicit writer for context (context.getConfigFile()).
      Parameters:
        `context` - The context which will be stored
      Returns:
        The file mover
      Throws:
        `Exception` - Error getting a writer for the configuration file

    - #### storeChildren

          public void storeChildren(PrintWriter aWriter,
                                    int indent,
                                    Object aContext,
                                    StoreDescription parentDesc)
                             throws Exception

      Store the specified context element children.
      Overrides:
        `storeChildren` in class `StoreFactoryBase`
      Parameters:
        `aWriter` - Current output writer
        `indent` - Indentation level
        `aContext` - Context to store
        `parentDesc` - The element description
      Throws:
        `Exception` - Configuration storing error

    - #### configBase

          protected File configBase(Context context)

      Return a File object representing the "configuration root" directory for our associated Host.
      Parameters:
        `context` - The context instance
      Returns:
        a file to the configuration base path

    - #### filterWatchedResources

          protected String[] filterWatchedResources(StandardContext context,
                                                    String[] wresources)
                                             throws Exception

      Filter out the default watched resources, to remove standard ones.
      Parameters:
        `context` - The context instance
        `wresources` - The raw watched resources list
      Returns:
        The filtered watched resources
      Throws:
        `Exception` - Configuration storing error TODO relative watched resources TODO absolute handling configFile TODO Filename case handling for Windows? TODO digester variable substitution $catalina.base, $catalina.home

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