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 their name and the attribute sslProtocol need a special handling

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final Set<String>`
`internalExecutorAttributes`
`protected static final HashMap<String,String>`
`replacements`

## Constructor Summary

Constructors
Constructor
Description
`ConnectorStoreAppender()`

## Method Summary

Modifier and Type
Method
Description
`protected File`
`getCatalinaBase()`
`protected File`
`getJkHomeBase(String jkHome, File appBase)`
`protected List<String>`
`getPropertyKeys(Connector bean)`
Get all properties from Connector and current ProtocolHandler.
`boolean`
`isPrintValue(Object bean, Object bean2, String attrName, StoreDescription desc)`
Print Connector Values.
`void`
`printAttributes(PrintWriter writer, int indent, boolean include, Object bean, StoreDescription desc)`
Store the relevant attributes of the specified JavaBean.
`void`
`printOpenTag(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc)`
Print only the open tag with all attributes.
`void`
`printTag(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc)`
Print tag with all attributes
`void`
`printValue(PrintWriter writer, int indent, String name, Object value)`
Print an attribute value.
`protected void`
`storeConnectorAttributes(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc)`
Print Attributes for the connector

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

`checkAttribute, 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 Details

### replacements

protected static final HashMap<String,String> replacements

### internalExecutorAttributes

protected static final Set<String> internalExecutorAttributes

## Constructor Details

### ConnectorStoreAppender

public ConnectorStoreAppender()

## Method Details

### printAttributes

public void printAttributes(PrintWriter writer, int indent, boolean include, Object bean, StoreDescription desc) throws 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:
  `Exception` - if an exception occurs while storing

### getPropertyKeys

protected List<String> getPropertyKeys(Connector bean) throws IntrospectionException
Get all properties from Connector and current ProtocolHandler.

Parameters:
  `bean` - The connector
Returns:
  List of Connector property names
Throws:
  `IntrospectionException` - Error introspecting connector

### storeConnectorAttributes

protected void storeConnectorAttributes(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc) throws Exception
Print Attributes for the connector

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

### printOpenTag

public void printOpenTag(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc) throws Exception
Description copied from class: `StoreAppender`
Print only the open tag with all attributes.

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:
  `Exception` - A store error occurred

### printTag

public void printTag(PrintWriter aWriter, int indent, Object bean, StoreDescription aDesc) throws Exception
Description copied from class: `StoreAppender`
Print tag with all attributes

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:
  `Exception` - A store error occurred

### printValue

public void printValue(PrintWriter writer, int indent, String name, Object value)
Description copied from class: `StoreAppender`
Print an attribute value.

Overrides:
  `printValue` in class `StoreAppender`
Parameters:
  `writer` - PrintWriter to which we are storing
  `indent` - Indentation level
  `name` - Attribute name
  `value` - Attribute value

### isPrintValue

public boolean isPrintValue(Object bean, Object bean2, 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(Object, Object, String, StoreDescription)`

### getCatalinaBase

protected File getCatalinaBase()

### getJkHomeBase

protected File getJkHomeBase(String jkHome, File appBase)