Class StoreAppender

    • 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
      • 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