Class DmtData
DmtSession interface.
Different constructors are available to create nodes with different formats.
Nodes of null format can be created using the static
NULL_VALUE constant instance of this class.
FORMAT_RAW_BINARY and FORMAT_RAW_STRING enable the support
of future data formats. When using these formats, the actual format name is
specified as a String. The application is responsible for the proper
encoding of the data according to the specified format.
- "Immutable"
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DmtDataConstant instance representing a booleanfalsevalue.static final intThe node holds an OMA DMb64value.static final intThe node holds an OMA DMbinvalue.static final intThe node holds an OMA DMboolvalue.static final intThe node holds an OMA DMdatevalue.static final intThe node holds a Date object.static final intThe node holds an OMA DMfloatvalue.static final intThe node holds an OMA DMintvalue.static final intThe node holds a long value.static final intFormat specifier of an internal node.static final intThe node holds an OMA DMnullvalue.static final intThe node holds raw protocol data encoded in binary format.static final intThe node holds raw protocol data encoded asString.static final intThe node holds an OMA DMchrvalue.static final intThe node holds an OMA DMtimevalue.static final intThe node holds an OMA DMxmlvalue.static final DmtDataConstant instance representing a leaf node ofnullformat.static final DmtDataConstant instance representing a booleantruevalue. -
Constructor Summary
ConstructorsConstructorDescriptionDmtData(boolean bool) Create aDmtDatainstance ofboolformat and set its value.DmtData(byte[] bytes) Create aDmtDatainstance ofbinformat and set its value.DmtData(byte[] bytes, boolean base64) Create aDmtDatainstance ofbinorb64format and set its value.DmtData(byte[] bytes, int format) Create aDmtDatainstance of the specified format and set its value based on the givenbyte[].DmtData(float flt) Create aDmtDatainstance offloatformat and set its value.DmtData(int integer) Create aDmtDatainstance ofintformat and set its value.DmtData(long lng) Create aDmtDatainstance oflongformat and set its value.Create aDmtDatainstance ofnodeformat with the given object value.Create aDmtDatainstance ofchrformat with the given string value.Create aDmtDatainstance inFORMAT_RAW_BINARYformat.Create aDmtDatainstance of the specified format and set its value based on the given string.Create aDmtDatainstance inFORMAT_RAW_STRINGformat.Create aDmtDatainstance ofdateTimeformat with the given Date value. -
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares the specified object with thisDmtDatainstance.byte[]Gets the value of a node with base 64 (b64) format.byte[]Gets the value of a node with binary (bin) format.booleanGets the value of a node with boolean (bool) format.getDate()Gets the value of a node with date format.Gets the value of a node withdateTimeformat.floatgetFloat()Gets the value of a node withfloatformat.intGet the node's format, expressed in terms of type constants defined in this class.Returns the format of thisDmtDataasString.intgetInt()Gets the value of a node with integer (int) format.longgetLong()Gets the value of a node with long format.getNode()Gets the complex data associated with an interior node (nodeformat).byte[]Gets the value of a node in raw binary (FORMAT_RAW_BINARY) format.Gets the value of a node in rawString(FORMAT_RAW_STRING) format.intgetSize()Get the size of the data.Gets the value of a node with string (chr) format.getTime()Gets the value of a node with time format.getXml()Gets the value of a node withxmlformat.inthashCode()Returns the hash code value for thisDmtDatainstance.toString()Gets the string representation of theDmtData.
-
Field Details
-
FORMAT_INTEGER
public static final int FORMAT_INTEGERThe node holds an OMA DMintvalue.- See Also:
-
FORMAT_FLOAT
public static final int FORMAT_FLOATThe node holds an OMA DMfloatvalue.- See Also:
-
FORMAT_STRING
public static final int FORMAT_STRINGThe node holds an OMA DMchrvalue.- See Also:
-
FORMAT_BOOLEAN
public static final int FORMAT_BOOLEANThe node holds an OMA DMboolvalue.- See Also:
-
FORMAT_DATE
public static final int FORMAT_DATEThe node holds an OMA DMdatevalue.- See Also:
-
FORMAT_TIME
public static final int FORMAT_TIMEThe node holds an OMA DMtimevalue.- See Also:
-
FORMAT_BINARY
public static final int FORMAT_BINARYThe node holds an OMA DMbinvalue. The value of the node corresponds to the Javabyte[]type.- See Also:
-
FORMAT_BASE64
public static final int FORMAT_BASE64The node holds an OMA DMb64value. LikeFORMAT_BINARY, this format is also represented by the Javabyte[]type, the difference is only in the corresponding OMA DM format. This format does not affect the internal storage format of the data asbyte[]. It is intended as a hint for the external representation of this data. Protocol Adapters can use this hint for their further processing.- See Also:
-
FORMAT_XML
public static final int FORMAT_XMLThe node holds an OMA DMxmlvalue.- See Also:
-
FORMAT_NULL
public static final int FORMAT_NULLThe node holds an OMA DMnullvalue. This corresponds to the Javanulltype.- See Also:
-
FORMAT_NODE
public static final int FORMAT_NODEFormat specifier of an internal node. An interior node can hold a Java object as value (seeDmtData(Object)andgetNode()). This value can be used by Java programs that know a specific URI understands the associated Java type. This type is further used as a return value of theMetaNode.getFormat()method for interior nodes.- See Also:
-
FORMAT_RAW_STRING
public static final int FORMAT_RAW_STRINGThe node holds raw protocol data encoded asString. ThegetFormatName()method can be used to get the actual format name.- See Also:
-
FORMAT_RAW_BINARY
public static final int FORMAT_RAW_BINARYThe node holds raw protocol data encoded in binary format. ThegetFormatName()method can be used to get the actual format name.- See Also:
-
FORMAT_LONG
public static final int FORMAT_LONGThe node holds a long value. ThegetFormatName()method can be used to get the actual format name.- Since:
- 2.0
- See Also:
-
FORMAT_DATE_TIME
public static final int FORMAT_DATE_TIMEThe node holds a Date object. If the getTime() equals zero then the date time is not known. If the getTime() is negative it must be interpreted as a relative number of milliseconds.- Since:
- 2.0
- See Also:
-
NULL_VALUE
Constant instance representing a leaf node ofnullformat. -
TRUE_VALUE
Constant instance representing a booleantruevalue.- Since:
- 2.0
-
FALSE_VALUE
Constant instance representing a booleanfalsevalue.- Since:
- 2.0
-
-
Constructor Details
-
DmtData
Create aDmtDatainstance ofchrformat with the given string value. Thenullstring argument is valid.- Parameters:
string- the string value to set
-
DmtData
Create aDmtDatainstance ofdateTimeformat with the given Date value. The given Date value must be a non-nullDateobject.- Parameters:
date- the Date object to set
-
DmtData
Create aDmtDatainstance ofnodeformat with the given object value. The value represents complex data associated with an interior node.Certain interior nodes can support access to their subtrees through such complex values, making it simpler to retrieve or update all leaf nodes in a subtree.
The given value must be a non-
nullimmutable object.- Parameters:
complex- the complex data object to set
-
DmtData
Create aDmtDatainstance of the specified format and set its value based on the given string. Only the following string-based formats can be created using this constructor:FORMAT_STRING- value can be any stringFORMAT_XML- value must contain an XML fragment (the validity is not checked by this constructor)FORMAT_DATE- value must be parsable to an ISO 8601 calendar date in complete representation, basic format (patternCCYYMMDD)FORMAT_TIME- value must be parsable to an ISO 8601 time of day in either local time, complete representation, basic format (patternhhmmss) or Coordinated Universal Time, basic format (patternhhmmssZ)
nullstring argument is only valid if the format is string or XML.- Parameters:
value- the string, XML, date, or time value to setformat- the format of theDmtDatainstance to be created, must be one of the formats specified above- Throws:
IllegalArgumentException- ifformatis not one of the allowed formats, orvalueis not a valid string for the given formatNullPointerException- if a string, XML, date, or time is constructed andvalueisnull
-
DmtData
public DmtData(int integer) Create aDmtDatainstance ofintformat and set its value.- Parameters:
integer- the integer value to set
-
DmtData
public DmtData(float flt) Create aDmtDatainstance offloatformat and set its value.- Parameters:
flt- the float value to set
-
DmtData
public DmtData(long lng) Create aDmtDatainstance oflongformat and set its value.- Parameters:
lng- the long value to set- Since:
- 2.0
-
DmtData
public DmtData(boolean bool) Create aDmtDatainstance ofboolformat and set its value.- Parameters:
bool- the boolean value to set
-
DmtData
public DmtData(byte[] bytes) Create aDmtDatainstance ofbinformat and set its value.- Parameters:
bytes- the byte array to set, must not benull- Throws:
NullPointerException- ifbytesisnull
-
DmtData
public DmtData(byte[] bytes, boolean base64) Create aDmtDatainstance ofbinorb64format and set its value. The chosen format is specified by thebase64parameter.- Parameters:
bytes- the byte array to set, must not benullbase64- iftrue, the new instance will haveb64format, iffalse, it will havebinformat- Throws:
NullPointerException- ifbytesisnull
-
DmtData
public DmtData(byte[] bytes, int format) Create aDmtDatainstance of the specified format and set its value based on the givenbyte[]. Only the followingbyte[]based formats can be created using this constructor:- Parameters:
bytes- the byte array to set, must not benullformat- the format of the DmtData instance to be created, must be one of the formats specified above- Throws:
IllegalArgumentException- if format is not one of the allowed formatsNullPointerException- ifbytesisnull
-
DmtData
Create aDmtDatainstance inFORMAT_RAW_STRINGformat. The data is provided encoded as aString. The actual data format is specified informatName. The encoding used indatamust conform to this format.- Parameters:
formatName- the name of the format, must not benulldata- the data encoded according to the specified format, must not benull- Throws:
NullPointerException- ifformatNameordataisnull
-
DmtData
Create aDmtDatainstance inFORMAT_RAW_BINARYformat. The data is provided encoded as binary. The actual data format is specified informatName. The encoding used indatamust conform to this format.- Parameters:
formatName- the name of the format, must not benulldata- the data encoded according to the specified format, must not benull- Throws:
NullPointerException- ifformatNameordataisnull
-
-
Method Details
-
getString
Gets the value of a node with string (chr) format.- Returns:
- the string value
- Throws:
DmtIllegalStateException- if the format of the node is not string
-
getDate
Gets the value of a node with date format. The returned date string is formatted according to the ISO 8601 definition of a calendar date in complete representation, basic format (patternCCYYMMDD).- Returns:
- the date value
- Throws:
DmtIllegalStateException- if the format of the node is not date
-
getTime
Gets the value of a node with time format. The returned time string is formatted according to the ISO 8601 definition of the time of day. The exact format depends on the value the object was initialized with: either local time, complete representation, basic format (patternhhmmss) or Coordinated Universal Time, basic format (patternhhmmssZ).- Returns:
- the time value
- Throws:
DmtIllegalStateException- if the format of the node is not time
-
getDateTime
Gets the value of a node withdateTimeformat.- Returns:
- the Date value
- Throws:
DmtIllegalStateException- if the format of the node is not time- Since:
- 2.0
-
getXml
Gets the value of a node withxmlformat.- Returns:
- the XML value
- Throws:
DmtIllegalStateException- if the format of the node is notxml
-
getInt
public int getInt()Gets the value of a node with integer (int) format.- Returns:
- the integer value
- Throws:
DmtIllegalStateException- if the format of the node is not integer
-
getLong
public long getLong()Gets the value of a node with long format.- Returns:
- the long value
- Throws:
DmtIllegalStateException- if the format of the node is not long- Since:
- 2.0
-
getFloat
public float getFloat()Gets the value of a node withfloatformat.- Returns:
- the float value
- Throws:
DmtIllegalStateException- if the format of the node is notfloat
-
getBoolean
public boolean getBoolean()Gets the value of a node with boolean (bool) format.- Returns:
- the boolean value
- Throws:
DmtIllegalStateException- if the format of the node is not boolean
-
getBinary
public byte[] getBinary()Gets the value of a node with binary (bin) format.- Returns:
- the binary value
- Throws:
DmtIllegalStateException- if the format of the node is not binary
-
getRawBinary
public byte[] getRawBinary()Gets the value of a node in raw binary (FORMAT_RAW_BINARY) format.- Returns:
- the data value in raw binary format
- Throws:
DmtIllegalStateException- if the format of the node is not raw binary
-
getRawString
Gets the value of a node in rawString(FORMAT_RAW_STRING) format.- Returns:
- the data value in raw
Stringformat - Throws:
DmtIllegalStateException- if the format of the node is not rawString
-
getBase64
public byte[] getBase64()Gets the value of a node with base 64 (b64) format.- Returns:
- the binary value
- Throws:
DmtIllegalStateException- if the format of the node is not base 64.
-
getNode
Gets the complex data associated with an interior node (nodeformat).Certain interior nodes can support access to their subtrees through complex values, making it simpler to retrieve or update all leaf nodes in the subtree.
- Returns:
- the data object associated with an interior node
- Throws:
DmtIllegalStateException- if the format of the data is notnode
-
getFormat
public int getFormat()Get the node's format, expressed in terms of type constants defined in this class. Note that the 'format' term is a legacy from OMA DM, it is more customary to think of this as 'type'.- Returns:
- the format of the node
-
getFormatName
Returns the format of thisDmtDataasString. For the predefined data formats this is the OMA DM defined name of the format. ForFORMAT_RAW_STRINGandFORMAT_RAW_BINARYthis is the format specified when the object was created.- Returns:
- the format name as
String
-
getSize
public int getSize()Get the size of the data. The returned value depends on the format of data in the node:FORMAT_STRING,FORMAT_XML,FORMAT_BINARY,FORMAT_BASE64,FORMAT_RAW_STRING, andFORMAT_RAW_BINARY: the length of the stored data, or 0 if the data isnullFORMAT_INTEGERandFORMAT_FLOAT: 4FORMAT_LONGandFORMAT_DATE_TIME: 8FORMAT_DATEandFORMAT_TIME: the length of the date or time in its string representationFORMAT_BOOLEAN: 1FORMAT_NODE: -1 (unknown)FORMAT_NULL: 0
- Returns:
- the size of the data stored by this object
-
toString
Gets the string representation of theDmtData. This method works for all formats.For string format data - including
FORMAT_RAW_STRING- the string value itself is returned, while for XML, date, time, integer, float, boolean, long and node formats the string form of the value is returned. Binary - includingFORMAT_RAW_BINARY- base64 data is represented by two-digit hexadecimal numbers for each byte separated by spaces. TheNULL_VALUEdata has the string form of "null". Data of string or XML format containing the Javanullvalue is represented by an empty string. DateTime data is formatted asyyyy-MM-dd'T'HH:mm:SS'Z'). -
equals
Compares the specified object with thisDmtDatainstance. TwoDmtDataobjects are considered equal if their format is the same, and their data (selected by the format) is equal.In case of
FORMAT_RAW_BINARYandFORMAT_RAW_STRINGthe textual name of the data format - as returned bygetFormatName()- must be equal as well. -
hashCode
public int hashCode()Returns the hash code value for thisDmtDatainstance. The hash code is calculated based on the data (selected by the format) of this object.
-