Package ipsk.beans

Class DOMCodec


  • public class DOMCodec
    extends java.lang.Object
    A Java object to DOM (Document object model) converter.
    Author:
    K.Jaensch, klausj@phonetik.uni-muenchen.de
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String attributePrefix  
    • Constructor Summary

      Constructors 
      Constructor Description
      DOMCodec()  
      DOMCodec​(java.lang.Package elementsPackage)
      Creates new DOM encoder/decoder.
      DOMCodec​(java.lang.Package elementsPackage, boolean elementNameUpperCase)
      Creates new DOM encoder/decoder.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendToDOM​(org.w3c.dom.Document d, org.w3c.dom.Element e, java.lang.Object bean)
      Convert a bean to DOM element and append it as child.
      void appendToDOM​(org.w3c.dom.Document d, org.w3c.dom.Element e, java.lang.Object bean, boolean appendIfDefault)
      Convert a bean to DOM element and append it as child.
      java.lang.Object copy​(java.lang.Object bean)
      Creates a cloned java bean (deep copy).
      java.lang.Object copy​(java.lang.Object bean, java.util.IdentityHashMap<java.lang.Object,java.lang.Object> copiedObjects)
      Creates a cloned java bean (deep copy).
      org.w3c.dom.Document createDocument​(java.lang.Object bean)  
      static void main​(java.lang.String[] args)
      Test method. generates Java test objects, converts them to DOM, write XML file from DOM, reads XML file, converts to DOM and finally to Java objects again.
      java.lang.Object readDocument​(org.w3c.dom.Document document)
      Generate a Java object (tree) from DOM document.
      void setElementsPackage​(java.lang.Package elementsPackage)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • DOMCodec

        public DOMCodec​(java.lang.Package elementsPackage)
                 throws DOMCodecException
        Creates new DOM encoder/decoder.
        Parameters:
        elementsPackage - the package name to map Java objects to/from
        Throws:
        DOMCodecException
      • DOMCodec

        public DOMCodec​(java.lang.Package elementsPackage,
                        boolean elementNameUpperCase)
                 throws DOMCodecException
        Creates new DOM encoder/decoder.
        Parameters:
        elementsPackage - the package name to map Java objects to/from
        elementNameUpperCase -
        Throws:
        DOMCodecException
    • Method Detail

      • setElementsPackage

        public void setElementsPackage​(java.lang.Package elementsPackage)
      • readDocument

        public java.lang.Object readDocument​(org.w3c.dom.Document document)
                                      throws DOMCodecException
        Generate a Java object (tree) from DOM document.
        Parameters:
        document -
        Returns:
        the object tree
        Throws:
        DOMCodecException
      • copy

        public java.lang.Object copy​(java.lang.Object bean)
                              throws DOMCodecException
        Creates a cloned java bean (deep copy).
        Parameters:
        bean - the bean to clone
        Returns:
        the cloned bean
        Throws:
        DOMCodecException
      • copy

        public java.lang.Object copy​(java.lang.Object bean,
                                     java.util.IdentityHashMap<java.lang.Object,java.lang.Object> copiedObjects)
                              throws DOMCodecException
        Creates a cloned java bean (deep copy). This method does not use the Object.clone(). Only Java bean properties which have a getter and setter method are copied. If the bean is found in the identity map of already copied object the existing copy is returned. This avoids cyclic loops.
        Parameters:
        bean - the bean to clone
        copiedObjects - identity hash map of already copied objects
        Returns:
        the cloned bean
        Throws:
        DOMCodecException
      • appendToDOM

        public void appendToDOM​(org.w3c.dom.Document d,
                                org.w3c.dom.Element e,
                                java.lang.Object bean)
                         throws DOMCodecException
        Convert a bean to DOM element and append it as child.
        Parameters:
        d - the whole document
        e - the element to which the generated DOM element will appended as child
        bean - the bean to convert to DOM element
        Throws:
        DOMCodecException
        DOMCodecException
      • appendToDOM

        public void appendToDOM​(org.w3c.dom.Document d,
                                org.w3c.dom.Element e,
                                java.lang.Object bean,
                                boolean appendIfDefault)
                         throws DOMCodecException
        Convert a bean to DOM element and append it as child.
        Parameters:
        d - the whole document
        e - the element to which the generated DOM element will appended as child
        bean - the bean to convert to DOM element
        appendIfDefault - if true elements are appended even if they are equal to the default
        Throws:
        DOMCodecException
      • main

        public static void main​(java.lang.String[] args)
        Test method. generates Java test objects, converts them to DOM, write XML file from DOM, reads XML file, converts to DOM and finally to Java objects again.
        Parameters:
        args -