org.apache.catalina.storeconfig

## Class StoreAppender

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

- Direct Known Subclasses:
    CertificateStoreAppender, ConnectorStoreAppender, StoreContextAppender

      public class StoreAppender
      extends Object

  StoreAppends generate really the xml tag elements

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StoreAppender()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | `checkAttribute(StoreDescription desc, PropertyDescriptor descriptor, String attributeName, Object bean, Object bean2)` Check if the attribute should be printed.
    `Object` | `defaultInstance(Object bean)` Generate default Instance for the specified bean.
    `protected boolean` | `isPersistable(Class<?> clazz)` Is the specified property type one for which we should generate a persistence attribute?
    `boolean` | `isPrintValue(Object bean, Object bean2, String attrName, StoreDescription desc)` Determine if the attribute value needs to be stored.
    `protected void` | `printAttribute(PrintWriter writer, int indent, Object bean, StoreDescription desc, String attributeName, Object bean2, Object value)` Store the specified of the specified JavaBean.
    `void` | `printAttributes(PrintWriter writer, int indent, boolean include, Object bean, StoreDescription desc)` Store the relevant attributes of the specified JavaBean.
    `void` | `printAttributes(PrintWriter writer, int indent, Object bean, StoreDescription desc)` Store the relevant attributes of the specified JavaBean, plus a `className` attribute defining the fully qualified Java class name of the bean.
    `void` | `printCloseTag(PrintWriter aWriter, StoreDescription aDesc)` Print the closing tag.
    `void` | `printIndent(PrintWriter aWriter, int indent)` Print some spaces.
    `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` | `printTagArray(PrintWriter aWriter, String tag, int indent, String[] elements)` Print an array of elements.
    `void` | `printTagContent(PrintWriter aWriter, String tag, String content)` Print the value from tag as content.
    `void` | `printTagValueArray(PrintWriter aWriter, String tag, int indent, String[] elements)` Print an array of values.
    `void` | `printValue(PrintWriter writer, int indent, String name, Object value)` Print an attribute value.

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

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

- - ### Constructor Detail

    - #### StoreAppender

          public StoreAppender()

  - ### Method Detail

    - #### printCloseTag

          public void printCloseTag(PrintWriter aWriter,
                                    StoreDescription aDesc)
                             throws Exception

      Print the closing tag.
      Parameters:
        `aWriter` - The output writer
        `aDesc` - Store description of the current element
      Throws:
        `Exception` - A store error occurred

    - #### printOpenTag

          public void printOpenTag(PrintWriter aWriter,
                                   int indent,
                                   Object bean,
                                   StoreDescription aDesc)
                            throws Exception

      Print only the open tag with all attributes.
      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

      Print tag with all attributes
      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

    - #### printTagContent

          public void printTagContent(PrintWriter aWriter,
                                      String tag,
                                      String content)
                               throws Exception

      Print the value from tag as content.
      Parameters:
        `aWriter` - The output writer
        `tag` - The element name
        `content` - Element content
      Throws:
        `Exception` - A store error occurred

    - #### printTagValueArray

          public void printTagValueArray(PrintWriter aWriter,
                                         String tag,
                                         int indent,
                                         String[] elements)

      Print an array of values.
      Parameters:
        `aWriter` - The output writer
        `tag` - The element name
        `indent` - Indentation level
        `elements` - Array of element values

    - #### printTagArray

          public void printTagArray(PrintWriter aWriter,
                                    String tag,
                                    int indent,
                                    String[] elements)
                             throws Exception

      Print an array of elements.
      Parameters:
        `aWriter` - The output writer
        `tag` - The element name
        `indent` - Indentation level
        `elements` - Array of elements
      Throws:
        `Exception` - Store error occurred

    - #### printIndent

          public void printIndent(PrintWriter aWriter,
                                  int indent)

      Print some spaces.
      Parameters:
        `aWriter` - The output writer
        `indent` - The number of spaces

    - #### printAttributes

          public void printAttributes(PrintWriter writer,
                                      int indent,
                                      Object bean,
                                      StoreDescription desc)
                               throws Exception

      Store the relevant attributes of the specified JavaBean, plus a `className` attribute defining the fully qualified Java class name of the bean.
      Parameters:
        `writer` - PrintWriter to which we are storing
        `indent` - Indentation level
        `bean` - Bean whose properties are to be rendered as attributes,
        `desc` - Store description of the current element
      Throws:
        `Exception` - if an exception occurs while storing

    - #### printAttributes

          public void printAttributes(PrintWriter writer,
                                      int indent,
                                      boolean include,
                                      Object bean,
                                      StoreDescription desc)
                               throws Exception

      Store the relevant attributes of the specified JavaBean.
      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

    - #### checkAttribute

          protected Object checkAttribute(StoreDescription desc,
                                          PropertyDescriptor descriptor,
                                          String attributeName,
                                          Object bean,
                                          Object bean2)

      Check if the attribute should be printed.
      Parameters:
        `desc` - RegistryDescriptor from this bean
        `descriptor` - PropertyDescriptor from this bean property
        `attributeName` - The attribute name to store
        `bean` - The current bean
        `bean2` - A default instance of the bean for comparison
      Returns:
        null if the value should be skipped, the value to print otherwise

    - #### 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.
      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)

      Determine if the attribute value needs to be stored.
      Parameters:
        `bean` - original bean
        `bean2` - default bean
        `attrName` - attribute name
        `desc` - StoreDescription from bean
      Returns:
        `true` if the value should be stored

    - #### defaultInstance

          public Object defaultInstance(Object bean)
                                 throws ReflectiveOperationException

      Generate default Instance for the specified bean.
      Parameters:
        `bean` - The bean
      Returns:
        an object from same class as bean parameter
      Throws:
        `ReflectiveOperationException` - Error creating a new instance

    - #### printValue

          public void printValue(PrintWriter writer,
                                 int indent,
                                 String name,
                                 Object value)

      Print an attribute value.
      Parameters:
        `writer` - PrintWriter to which we are storing
        `indent` - Indentation level
        `name` - Attribute name
        `value` - Attribute value

    - #### isPersistable

          protected boolean isPersistable(Class<?> clazz)

      Is the specified property type one for which we should generate a persistence attribute?
      Parameters:
        `clazz` - Java class to be tested
      Returns:
        `true` if the specified class should be stored

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