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
#6.n (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 intCOTX tag: 1010static final intDATE_TIME tag: 0static final intEPOCH_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.GetCOTXobject.Get ISOdate/timeobject.Get UNIXEpochtime object.longGet tag number.Methods inherited from class org.webpki.cbor.CBORObject
checkForUnread, clone, compareTo, encode, equals, getArray, getBigInteger, getBoolean, getBytes, getExtendedFloat64, getFloat16, getFloat32, getFloat64, getInt16, getInt32, getInt64, getInt8, getMap, getSimple, 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:
CBORExceptionIllegalArgumentException
-
-
Method Details
-
get
Get tagged CBOR object.- Returns:
- object
-
getDateTime
Get ISOdate/timeobject.This method assumes that a valid CBOR tag 0 has been found, otherwise a
CBORExceptionis thrown.- Overrides:
getDateTimein classCBORObject- Returns:
GregorianCalendar- Throws:
CBORException- See Also:
-
getEpochTime
Get UNIXEpochtime object.This method assumes that a valid CBOR tag 1 has been found, otherwise a
CBORExceptionis thrown.- Overrides:
getEpochTimein classCBORObject- Returns:
GregorianCalendar- Throws:
CBORException- See Also:
-
getCOTXObject
GetCOTXobject.This method assumes that a valid COTX tag has been found, otherwise a
CBORExceptionis thrown.- Returns:
COTXObject- Throws:
CBORException
-
getTagNumber
public long getTagNumber()Get tag number.- Returns:
- Tag number
-