Class DocumentWriter


  • public class DocumentWriter
    extends Object
    This is the thing that writes documents.

    This will create valid XML documents, given an object and a schema.

    Author:
    dzwiers
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String BASE_ELEMENT
      Element or String ... include a ref to an Element to be used, or a string representing the name of the element
      static String ENCODING
      The Encoding which should be used for the Document which should be created.
      static Logger logger  
      static String SCHEMA_LOCATION_HINT
      a map of URI->URI representing targetNamespace->Location
      static String SCHEMA_ORDER
      Schema[] or String[]...
      static String USE_NEAREST
      boolean ... include the key to use the "nearest" strategy for searching schemas.
      static String WRITE_SCHEMA
      Writer ... include the key to represent true when writing to files, include a Writer to write to otherwise.
    • Constructor Summary

      Constructors 
      Constructor Description
      DocumentWriter()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void setLevel​(Level l)
      Sets the logger level
      static void writeDocument​(Object value, Schema schema, File f, Map<String,​Object> hints)
      Write value to file using provided schema.
      static void writeDocument​(Object value, Schema schema, Writer w, Map<String,​Object> hints)
      Entry Point to Document writer.
      static void writeFragment​(Object value, Schema schema, File f, Map<String,​Object> hints)
      Write value to file using provided schema.
      static void writeFragment​(Object value, Schema schema, Writer w, Map<String,​Object> hints)
      Entry Point to Document writer.
      static void writeSchema​(Schema schema, Writer w, Map<String,​Object> hints)  
      • Methods inherited from class Object

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

      • logger

        public static final Logger logger
      • WRITE_SCHEMA

        public static final String WRITE_SCHEMA
        Writer ... include the key to represent true when writing to files, include a Writer to write to otherwise.
        See Also:
        Constant Field Values
      • BASE_ELEMENT

        public static final String BASE_ELEMENT
        Element or String ... include a ref to an Element to be used, or a string representing the name of the element
        See Also:
        Constant Field Values
      • SCHEMA_ORDER

        public static final String SCHEMA_ORDER
        Schema[] or String[]... The order to search the schemas for a valid element, either an array of ref to Schema instances or an Array or TargetNamespaces
        See Also:
        Constant Field Values
      • ENCODING

        public static final String ENCODING
        The Encoding which should be used for the Document which should be created.
        See Also:
        Constant Field Values
      • USE_NEAREST

        public static final String USE_NEAREST
        boolean ... include the key to use the "nearest" strategy for searching schemas. This will be ignored if a schema order was set. When not included the schema order as they appear in the orginal schema will be used.
        See Also:
        Constant Field Values
      • SCHEMA_LOCATION_HINT

        public static final String SCHEMA_LOCATION_HINT
        a map of URI->URI representing targetNamespace->Location
        See Also:
        Constant Field Values
    • Constructor Detail

      • DocumentWriter

        public DocumentWriter()
    • Method Detail

      • setLevel

        public static void setLevel​(Level l)
        Sets the logger level
        Parameters:
        l - Level
      • writeDocument

        public static void writeDocument​(Object value,
                                         Schema schema,
                                         File f,
                                         Map<String,​Object> hints)
                                  throws OperationNotSupportedException,
                                         IOException
        Write value to file using provided schema.

        Hints:

        • WRITE_SCHEMA - (non null) write to outputfilename.xsd
        • BASE_ELEMENT - (Element) mapping of value to element instance
        • USE_NEAREST - (Boolean) not implemented
        • SCHEMA_ORDER - (String[] or Schema[]) resolve ambiguity & import
        Throws:
        OperationNotSupportedException
        IOException
      • writeDocument

        public static void writeDocument​(Object value,
                                         Schema schema,
                                         Writer w,
                                         Map<String,​Object> hints)
                                  throws OperationNotSupportedException,
                                         IOException
        Entry Point to Document writer.

        Hints:

        • WRITE_SCHEMA - (Writer) will be used to write the schema
        • BASE_ELEMENT - (Element) mapping of value to element instance
        • USE_NEAREST - (Boolean) not implemented
        • SCHEMA_ORDER - (String[] or Schema[]) resolve ambiguity & import
        Parameters:
        hints - optional hints for writing
        Throws:
        OperationNotSupportedException
        IOException
      • writeFragment

        public static void writeFragment​(Object value,
                                         Schema schema,
                                         File f,
                                         Map<String,​Object> hints)
                                  throws OperationNotSupportedException,
                                         IOException
        Write value to file using provided schema.

        Hints:

        • BASE_ELEMENT - (Element) mapping of value to element instance
        • USE_NEAREST - (Boolean) not implemented
        • SCHEMA_ORDER - (String[] or Schema[]) resolve ambiguity & import
        Throws:
        OperationNotSupportedException
        IOException
      • writeFragment

        public static void writeFragment​(Object value,
                                         Schema schema,
                                         Writer w,
                                         Map<String,​Object> hints)
                                  throws OperationNotSupportedException,
                                         IOException
        Entry Point to Document writer.

        Hints:

        • BASE_ELEMENT - (Element) mapping of value to element instance
        • USE_NEAREST - (Boolean) not implemented
        • SCHEMA_ORDER - (String[] or Schema[]) resolve ambiguity & import
        Parameters:
        hints - optional hints for writing
        Throws:
        OperationNotSupportedException
        IOException
      • writeSchema

        public static void writeSchema​(Schema schema,
                                       Writer w,
                                       Map<String,​Object> hints)
                                throws IOException
        Throws:
        IOException