Class DataXML

  • All Implemented Interfaces:
    java.io.Serializable

    public class DataXML
    extends java.lang.Object
    implements java.io.Serializable
    Simplicité XML object data.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      DataXML()
      Default constructor
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(TagXML tag)
      Add a single tag
      TagXML add​(ObjectField f, java.lang.String value, ObjectXML object, ObjectXML oldObject)
      Add a tag from a field and a meta-object link value
      TagXML add​(ObjectField f, java.lang.String value, java.lang.String oldvalue, java.lang.String doc, java.lang.String docmap, java.lang.String dispValue, java.lang.String dispOldValue)
      Add a tag from a field and a value
      TagXML add​(java.lang.String name, boolean value)
      Add a tag from a name and a boolean value
      TagXML add​(java.lang.String name, char value)
      Add a tag from a name and a character value
      TagXML add​(java.lang.String name, double value)
      Add a tag from a name and a double value
      TagXML add​(java.lang.String name, float value)
      Add a tag from a name and a float value
      TagXML add​(java.lang.String name, int value)
      Add a tag from a name and an integer value
      TagXML add​(java.lang.String name, long value)
      Add a tag from a name and a long integer value
      TagXML add​(java.lang.String name, java.lang.Object value)
      Add a tag from a name and a value
      TagXML add​(java.lang.String name, java.lang.String value)
      Add a tag from a name and a string value
      TagXML add​(java.lang.String name, java.lang.String[] values)
      Add a tag from a name and an array of string values
      TagXML add​(java.lang.String name, java.lang.StringBuilder value)
      Add a tag from a name and a long string value (enclosed in CDATA)
      TagXML add​(java.lang.String name, java.lang.String value, boolean cdata)
      Add a tag from a name and a string value
      TagXML add​(java.lang.String name, java.lang.String value, boolean fkey, java.lang.String oldvalue, int type, java.lang.String doc)
      Add a tag from a name and a value
      TagXML add​(java.lang.String name, java.lang.String value, boolean fkey, java.lang.String oldvalue, int type, java.lang.String doc, java.lang.String docmap, java.lang.String dispValue, java.lang.String dispOldValue, java.lang.String disp)
      Add a tag from a name and a value
      TagXML add​(java.lang.String name, java.lang.String value, int type)
      Add a tag from a name and a typed string value
      TagXML add​(java.lang.String name, java.lang.String value, ObjectXML object, boolean fkey, ObjectXML oldObject)
      Add a tag from a name and a meta-object link value
      TagXML add​(java.lang.String name, java.math.BigDecimal value)
      Add a tag from a name and a big decimal value
      TagXML add​(java.lang.String name, java.util.Date value)
      Add a tag from a name and a date value
      TagXML add​(java.lang.String name, java.util.Date value, int type)
      Add a tag from a name and an internal date value
      java.util.Map<java.lang.String,​java.lang.String> attachTo​(java.lang.String root, java.util.Map<java.lang.String,​java.lang.String> files)
      List and copy attached files
      int compare​(DataXML data)
      Compare data:
      - 0 = not equals
      - 1 = only the same functional key
      - 2 = equals
      static boolean compareValues​(TagXML t1, TagXML t2)
      Compare document tag values without taking care of DATA: and file name
      static DataXML fromJSON​(org.json.JSONObject data)
      Parse JSON data into an XML data
      static DataXML fromYAML​(java.lang.String data)
      Parse YAML data string into an XML object
      static java.lang.String getComparableValue​(TagXML tag)
      Get comparable value of document tag
      java.util.Map<java.lang.String,​java.lang.Object> getFunctKeys()
      Get functional keys as map
      TagXML getLastTag()
      Get last tag
      ObjectXML getParent()
      Get parent XML object
      java.lang.String getPath()
      Get export path
      java.lang.String getRowId()
      Get data row ID
      java.lang.String getSource()
      Get original source of data (for instance a line of imported file)
      TagXML getTag​(java.lang.String name)
      Get a tag
      java.util.List<TagXML> getTags()
      Get all tags
      java.lang.String getTagValue​(java.lang.String name)
      Get the tag value
      java.lang.String getUserKey()
      Get object user key
      void populateObject​(ObjectDB obj)
      Populate the object with tags when known
      TagXML removeTag​(java.lang.String name)
      Remove a tag if it exists
      java.lang.String searchRowId​(Grant g)
      Try to find the row ID with known tags
      void setFunctKey​(java.lang.String key, java.lang.Object value)
      Set functional key value
      void setParent​(ObjectXML parent)
      Assign to a parent XML object
      void setPath​(java.lang.String path)
      Set export path
      void setRowId​(java.lang.String rowId)
      Set data row ID
      void setSource​(java.lang.String src)
      Set the original source of data
      void setUserKey​(java.lang.String uk)
      Set object user key
      java.lang.StringBuilder toJSON​(boolean indent)
      Serialize to JSON string builder
      org.json.JSONObject toJSONObject()
      Serialize data to JSON
      java.lang.String toString()
      Serialize as XML string
      java.lang.StringBuilder toXML()
      Serialize as XML string builder
      java.lang.StringBuilder toXML​(java.lang.String tab, java.lang.String spacer)
      Serialize as XML string builder
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • DataXML

        public DataXML()
        Default constructor
    • Method Detail

      • getParent

        public ObjectXML getParent()
        Get parent XML object
        Returns:
        Parent XML object
      • setParent

        public void setParent​(ObjectXML parent)
        Assign to a parent XML object
        Parameters:
        parent - Parent XML object to assign to
      • getRowId

        public java.lang.String getRowId()
        Get data row ID
        Returns:
        Data row ID
      • setRowId

        public void setRowId​(java.lang.String rowId)
        Set data row ID
        Parameters:
        rowId - Data row ID
      • getPath

        public java.lang.String getPath()
        Get export path
        Returns:
        Export path
      • setPath

        public void setPath​(java.lang.String path)
        Set export path
        Parameters:
        path - Export path
      • getUserKey

        public java.lang.String getUserKey()
        Get object user key
        Returns:
        Object user key
      • setUserKey

        public void setUserKey​(java.lang.String uk)
        Set object user key
        Parameters:
        uk - Object user key
      • getTags

        public java.util.List<TagXML> getTags()
        Get all tags
        Returns:
        Tags list
      • getFunctKeys

        public java.util.Map<java.lang.String,​java.lang.Object> getFunctKeys()
        Get functional keys as map
        Returns:
        Map of function keys
      • setFunctKey

        public void setFunctKey​(java.lang.String key,
                                java.lang.Object value)
        Set functional key value
      • getSource

        public java.lang.String getSource()
        Get original source of data (for instance a line of imported file)
        Returns:
        Original source of data
      • setSource

        public void setSource​(java.lang.String src)
        Set the original source of data
        Parameters:
        src - Original source of data
      • add

        public void add​(TagXML tag)
        Add a single tag
        Parameters:
        tag - Tag to add
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value)
        Add a tag from a name and a string value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          char value)
        Add a tag from a name and a character value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value,
                          boolean cdata)
        Add a tag from a name and a string value
        Parameters:
        name - Name
        value - Value
        cdata - Enclose in CDATA?
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.StringBuilder value)
        Add a tag from a name and a long string value (enclosed in CDATA)
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          boolean value)
        Add a tag from a name and a boolean value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          int value)
        Add a tag from a name and an integer value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          long value)
        Add a tag from a name and a long integer value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          float value)
        Add a tag from a name and a float value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          double value)
        Add a tag from a name and a double value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.math.BigDecimal value)
        Add a tag from a name and a big decimal value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.util.Date value)
        Add a tag from a name and a date value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.util.Date value,
                          int type)
        Add a tag from a name and an internal date value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String[] values)
        Add a tag from a name and an array of string values
        Parameters:
        name - Name
        values - Values
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.Object value)
        Add a tag from a name and a value
        Parameters:
        name - Name
        value - Value
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value,
                          int type)
        Add a tag from a name and a typed string value
        Parameters:
        name - Name
        value - Value
        type - Field type
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value,
                          boolean fkey,
                          java.lang.String oldvalue,
                          int type,
                          java.lang.String doc)
        Add a tag from a name and a value
        Parameters:
        name - Name
        value - Value
        oldvalue - Old value (if any)
        type - Field type
        fkey - Is functional key?
        doc - Path or inlined data of document (if applicable)
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value,
                          boolean fkey,
                          java.lang.String oldvalue,
                          int type,
                          java.lang.String doc,
                          java.lang.String docmap,
                          java.lang.String dispValue,
                          java.lang.String dispOldValue,
                          java.lang.String disp)
        Add a tag from a name and a value
        Parameters:
        name - Name
        value - Value
        oldvalue - Old value (if any)
        type - Field type
        fkey - Is functional key?
        doc - Path or inlined data of document (if applicable)
        docmap - Optional mapped path of document (if applicable)
        dispValue - Optional value to display label
        dispOldValue - Optional old value display label
        disp - Optional tag display label
        Returns:
        Tag
      • add

        public TagXML add​(ObjectField f,
                          java.lang.String value,
                          java.lang.String oldvalue,
                          java.lang.String doc,
                          java.lang.String docmap,
                          java.lang.String dispValue,
                          java.lang.String dispOldValue)
        Add a tag from a field and a value
        Parameters:
        f - Field definition
        value - Value
        oldvalue - Old value (if any)
        doc - Path or inlined data of document (if applicable)
        docmap - Optional mapped path of document (if applicable)
        dispValue - Optional value to display label
        dispOldValue - Optional old value display label
        Returns:
        Tag
      • add

        public TagXML add​(java.lang.String name,
                          java.lang.String value,
                          ObjectXML object,
                          boolean fkey,
                          ObjectXML oldObject)
        Add a tag from a name and a meta-object link value
        Parameters:
        name - Name
        value - Meta-object link value (object:row ID)
        fkey - Is functional key ?
        object - XML object
        oldObject - Old XML object if any
        Returns:
        Tag
      • add

        public TagXML add​(ObjectField f,
                          java.lang.String value,
                          ObjectXML object,
                          ObjectXML oldObject)
        Add a tag from a field and a meta-object link value
        Parameters:
        f - Field definition
        value - Meta-object link value (object:row ID)
        object - XML object
        oldObject - Old XML object if any
        Returns:
        Tag
      • populateObject

        public void populateObject​(ObjectDB obj)
        Populate the object with tags when known
        Parameters:
        obj - Object
      • getTagValue

        public java.lang.String getTagValue​(java.lang.String name)
        Get the tag value
        Parameters:
        name - Name
        Returns:
        Value
      • getTag

        public TagXML getTag​(java.lang.String name)
        Get a tag
        Parameters:
        name - Name
        Returns:
        Tag
      • getLastTag

        public TagXML getLastTag()
        Get last tag
        Returns:
        Tag
      • removeTag

        public TagXML removeTag​(java.lang.String name)
        Remove a tag if it exists
        Parameters:
        name - Namee
        Returns:
        Removed tag
      • searchRowId

        public java.lang.String searchRowId​(Grant g)
        Try to find the row ID with known tags
        Parameters:
        g - Grant
        Returns:
        Found row ID or null
      • toString

        public java.lang.String toString()
        Serialize as XML string
        Overrides:
        toString in class java.lang.Object
        Returns:
        XML string
      • toXML

        public java.lang.StringBuilder toXML()
        Serialize as XML string builder
        Returns:
        XML string builder
      • toXML

        public java.lang.StringBuilder toXML​(java.lang.String tab,
                                             java.lang.String spacer)
        Serialize as XML string builder
        Parameters:
        tab - Optional tabulation
        spacer - Optional spacer
        Returns:
        XML string builder
      • fromJSON

        public static DataXML fromJSON​(org.json.JSONObject data)
        Parse JSON data into an XML data
        Parameters:
        data - JSON data
        Returns:
        XML data
      • fromYAML

        public static DataXML fromYAML​(java.lang.String data)
        Parse YAML data string into an XML object
        Parameters:
        data - YAML data
        Returns:
        XML data
      • toJSON

        public java.lang.StringBuilder toJSON​(boolean indent)
        Serialize to JSON string builder
        Parameters:
        indent - Indent?
        Returns:
        JSON string builder
      • toJSONObject

        public org.json.JSONObject toJSONObject()
        Serialize data to JSON
        Returns:
        JSON object
      • attachTo

        public java.util.Map<java.lang.String,​java.lang.String> attachTo​(java.lang.String root,
                                                                               java.util.Map<java.lang.String,​java.lang.String> files)
        List and copy attached files
        Parameters:
        root - Directory
        files - List of file paths
        Returns:
        List of files paths with the added files
      • getComparableValue

        public static java.lang.String getComparableValue​(TagXML tag)
        Get comparable value of document tag
        Parameters:
        tag - Tag
        Returns:
        Data without DATA: and file name
      • compareValues

        public static boolean compareValues​(TagXML t1,
                                            TagXML t2)
        Compare document tag values without taking care of DATA: and file name
        Returns:
        True if not equals
      • compare

        public int compare​(DataXML data)
        Compare data:
        - 0 = not equals
        - 1 = only the same functional key
        - 2 = equals
        Parameters:
        data - Any data
        Returns:
        0, 1 or 2 (-1 when data is null)