Package org.apache.catalina.storeconfig

## Class ConnectorStoreAppender

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

    public class ConnectorStoreAppender
    extends StoreAppender

Store the Connector attributes. Connector has really special design. A Connector is only a startup Wrapper for a ProtocolHandler. This meant that ProtocolHandler get all there attributes from the Connector attribute map. Strange is that some attributes change there name and the attribute sslProtocol need a special handling

### Field Summary

Fields
`protected static java.util.HashMap<java.lang.String,​java.lang.String>` `replacements`

### Constructor Summary

Constructors
`ConnectorStoreAppender()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected java.io.File` `getCatalinaBase()`
`protected java.io.File` `getJkHomeBase​(java.lang.String jkHome, java.io.File appBase)`
`protected java.util.List<java.lang.String>` `getPropertyKeys​(Connector bean)` Get all properties from Connector and current ProtocolHandler.
`boolean` `isPrintValue​(java.lang.Object bean, java.lang.Object bean2, java.lang.String attrName, StoreDescription desc)` Print Connector Values.
`void` `printAttributes​(java.io.PrintWriter writer, int indent, boolean include, java.lang.Object bean, StoreDescription desc)` Store the relevant attributes of the specified JavaBean.
`void` `printOpenTag​(java.io.PrintWriter aWriter, int indent, java.lang.Object bean, StoreDescription aDesc)` Print the open tag for connector attributes (override).
`void` `printTag​(java.io.PrintWriter aWriter, int indent, java.lang.Object bean, StoreDescription aDesc)` Print a tag for connector attributes (override).
`void` `printValue​(java.io.PrintWriter writer, int indent, java.lang.String name, java.lang.Object value)` Print a value but replace certain attribute names.
`protected void` `storeConnectorAttributes​(java.io.PrintWriter aWriter, int indent, java.lang.Object bean, StoreDescription aDesc)` Print Attributes for the connector

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

`checkAttribute, convertStr, defaultInstance, isPersistable, printAttribute, printAttributes, printCloseTag, printIndent, printTagArray, printTagContent, printTagValueArray`

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

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

### Field Detail

#### replacements

    protected static final java.util.HashMap<java.lang.String,​java.lang.String> replacements

### Constructor Detail

#### ConnectorStoreAppender

    public ConnectorStoreAppender()

### Method Detail

#### printAttributes

    public void printAttributes​(java.io.PrintWriter writer,
                                int indent,
                                boolean include,
                                java.lang.Object bean,
                                StoreDescription desc)
                         throws java.lang.Exception

Description copied from class: `StoreAppender`
Store the relevant attributes of the specified JavaBean.

Overrides:
  `printAttributes` in class `StoreAppender`
Parameters:
  `writer` - PrintWriter to which we are storing
  `indent` - Indentation level
  `include` - Should we include a `className` attribute?
  `bean` - Bean whose properties are to be rendered as attributes,
  `desc` - RegistryDescriptor from this bean
Throws:
  `java.lang.Exception` - if an exception occurs while storing

#### getPropertyKeys

    protected java.util.List<java.lang.String> getPropertyKeys​(Connector bean)
                                                        throws java.beans.IntrospectionException

Get all properties from Connector and current ProtocolHandler.

Parameters:
  `bean` - The connector
Returns:
  List of Connector property names
Throws:
  `java.beans.IntrospectionException` - Error intropecting connector

#### storeConnectorAttributes

    protected void storeConnectorAttributes​(java.io.PrintWriter aWriter,
                                            int indent,
                                            java.lang.Object bean,
                                            StoreDescription aDesc)
                                     throws java.lang.Exception

Print Attributes for the connector

Parameters:
  `aWriter` - Current writer
  `indent` - Indentation level
  `bean` - The connector bean
  `aDesc` - The connector description
Throws:
  `java.lang.Exception` - Store error occurred

#### printOpenTag

    public void printOpenTag​(java.io.PrintWriter aWriter,
                             int indent,
                             java.lang.Object bean,
                             StoreDescription aDesc)
                      throws java.lang.Exception

Print the open tag for connector attributes (override).

Overrides:
  `printOpenTag` in class `StoreAppender`
Parameters:
  `aWriter` - The output writer
  `indent` - Indentation level
  `bean` - The current bean that is stored
  `aDesc` - Store description of the current element
Throws:
  `java.lang.Exception` - A store error occurred
See Also:
  `StoreAppender.printOpenTag(java.io.PrintWriter, int, java.lang.Object, org.apache.catalina.storeconfig.StoreDescription)`

#### printTag

    public void printTag​(java.io.PrintWriter aWriter,
                         int indent,
                         java.lang.Object bean,
                         StoreDescription aDesc)
                  throws java.lang.Exception

Print a tag for connector attributes (override).

Overrides:
  `printTag` in class `StoreAppender`
Parameters:
  `aWriter` - The output writer
  `indent` - Indentation level
  `bean` - The current bean that is stored
  `aDesc` - Store description of the current element
Throws:
  `java.lang.Exception` - A store error occurred
See Also:
  `StoreAppender.printTag(java.io.PrintWriter, int, java.lang.Object, org.apache.catalina.storeconfig.StoreDescription)`

#### printValue

    public void printValue​(java.io.PrintWriter writer,
                           int indent,
                           java.lang.String name,
                           java.lang.Object value)

Print a value but replace certain attribute names.

Overrides:
  `printValue` in class `StoreAppender`
Parameters:
  `writer` - PrintWriter to which we are storing
  `indent` - Indentation level
  `name` - Attribute name
  `value` - Attribute value
See Also:
  `StoreAppender.printValue(java.io.PrintWriter, int, java.lang.String, java.lang.Object)`

#### isPrintValue

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

Print Connector Values.

- Special handling to default jkHome.
- Don't save catalina.base path at server.xml

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)`

#### getCatalinaBase

    protected java.io.File getCatalinaBase()

#### getJkHomeBase

    protected java.io.File getJkHomeBase​(java.lang.String jkHome,
                                         java.io.File appBase)