Package org.webpki.cbor
Class CBORTag
java.lang.Object
org.webpki.cbor.CBORObject
org.webpki.cbor.CBORTag
- All Implemented Interfaces:
Cloneable
,Comparable<CBORObject>
Class for holding CBOR
tag
objects.
Tagged objects are based on CBOR major type 6. This implementation accepts multiple variants of tags:
The purpose of the last construct is to provide a
generic way of adding an object type identifier in the
form of a URL or other text data to CBOR objects.
The CBOR tag must in this case be 1010
.
Example:
1010(["https://example.com/myobject", {
"amount": "145.00",
"currency": "USD"
}])
Note that the bignum
type is dealt with
as a specific primitive, in spite of being a tagged object.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
COTX tag: 1010static final int
DATE_TIME tag: 0static final int
EPOCH_TIME tag: 1 -
Constructor Summary
ConstructorsConstructorDescriptionCBORTag
(long tagNumber, CBORObject object) Creates a CBOR tagged object.CBORTag
(String typeUrl, CBORObject object) Creates a COTX-tagged object. -
Method Summary
Modifier and TypeMethodDescriptionget()
Get tagged CBOR object.GetCOTX
object.Get ISOdate/time
object.Get UNIXEpoch
time object.long
Get tag number.update
(CBORObject object) Update tagged CBOR object.Methods inherited from class org.webpki.cbor.CBORObject
checkForUnread, clone, compareTo, encode, equals, getArray, getBigInteger, getBoolean, getBytes, getFloat16, getFloat32, getFloat64, getInt16, getInt32, getInt64, getInt8, getMap, getString, getTag, getUint16, getUint32, getUint64, getUint8, hashCode, isNull, scan, toDiagnosticNotation, toString
-
Field Details
-
RESERVED_TAG_DATE_TIME
public static final int RESERVED_TAG_DATE_TIMEDATE_TIME tag: 0- See Also:
-
RESERVED_TAG_EPOCH_TIME
public static final int RESERVED_TAG_EPOCH_TIMEEPOCH_TIME tag: 1- See Also:
-
RESERVED_TAG_COTX
public static final int RESERVED_TAG_COTXCOTX tag: 1010- See Also:
-
-
Constructor Details
-
CBORTag
Creates a COTX-tagged object.- Parameters:
typeUrl
- Type URL (or other string)object
- Object
-
CBORTag
Creates a CBOR tagged object.- Parameters:
tagNumber
- Tag numberobject
- Object- Throws:
CBORException
IllegalArgumentException
-
-
Method Details
-
get
Get tagged CBOR object.- Returns:
- object
-
getDateTime
Get ISOdate/time
object.This method assumes that a valid CBOR tag 0 has been found, otherwise a
CBORException
is thrown.- Overrides:
getDateTime
in classCBORObject
- Returns:
GregorianCalendar
- Throws:
CBORException
- See Also:
-
getEpochTime
Get UNIXEpoch
time object.This method assumes that a valid CBOR tag 1 has been found, otherwise a
CBORException
is thrown.- Overrides:
getEpochTime
in classCBORObject
- Returns:
GregorianCalendar
- Throws:
CBORException
- See Also:
-
getCOTXObject
GetCOTX
object.This method assumes that a valid COTX tag has been found, otherwise a
CBORException
is thrown.- Returns:
COTXObject
- Throws:
CBORException
-
update
Update tagged CBOR object.- Parameters:
object
- New object- Returns:
- Previous object
- Throws:
CBORException
-
getTagNumber
public long getTagNumber()Get tag number.- Returns:
- Tag number
-