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 Details

    • StoreAppender

      public StoreAppender()
  • Method Details

    • 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