Class DecimalAdapter
- java.lang.Object
-
- gov.nist.secauto.metaschema.core.datatype.AbstractDataTypeAdapter<BigDecimal,IDecimalItem>
-
- gov.nist.secauto.metaschema.core.datatype.adapter.DecimalAdapter
-
- All Implemented Interfaces:
IDataTypeAdapter<BigDecimal>
public class DecimalAdapter extends AbstractDataTypeAdapter<BigDecimal,IDecimalItem>
-
-
Field Summary
Fields Modifier and Type Field Description static MathContext
MATH_CONTEXT
-
Fields inherited from class gov.nist.secauto.metaschema.core.datatype.AbstractDataTypeAdapter
DEFAULT_JSON_FIELD_NAME
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IDecimalItem
castInternal(IAnyAtomicItem item)
Attempt to cast the provided item to this adapter's item type.BigDecimal
copy(Object obj)
Create a copy of the provided value.Class<IDecimalItem>
getItemClass()
Get the java type of the associated item.com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatTypes
getJsonRawType()
The JSON primative type of the data type.List<String>
getNames()
Get the metaschema type names associated with this adapter.IDecimalItem
newItem(Object value)
Construct a new item of this type using the provided value.BigDecimal
parse(String value)
Parses a provided string.void
writeJsonValue(Object value, com.fasterxml.jackson.core.JsonGenerator generator)
Writes the provided Java class instance as a JSON/YAML field value.-
Methods inherited from class gov.nist.secauto.metaschema.core.datatype.AbstractDataTypeAdapter
asString, canHandleQName, cast, getDefaultJsonValueKey, getJavaClass, isParsingStartElement, isUnrappedValueAllowedInXml, isXmlMixed, parse, parse, toValue, writeXmlValue, writeXmlValue
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface gov.nist.secauto.metaschema.core.datatype.IDataTypeAdapter
getPreferredName, isAtomic, parseAndSupply, parseAndSupply, parseAndSupply
-
-
-
-
Field Detail
-
MATH_CONTEXT
public static final MathContext MATH_CONTEXT
-
-
Method Detail
-
getNames
public List<String> getNames()
Description copied from interface:IDataTypeAdapter
Get the metaschema type names associated with this adapter. This name must be unique with respect to all other metaschema types.At least one name must be provided, with the first name being the most preferred name.
- Returns:
- the name
-
getJsonRawType
public com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatTypes getJsonRawType()
Description copied from interface:IDataTypeAdapter
The JSON primative type of the data type.- Returns:
- the JSON data type
-
parse
public BigDecimal parse(String value)
Description copied from interface:IDataTypeAdapter
Parses a provided string. Used to parse XML attributes, simple XML character data, and JSON/YAML property values.- Parameters:
value
- the string value to parse- Returns:
- the parsed data as the adapter's type
-
writeJsonValue
public void writeJsonValue(Object value, com.fasterxml.jackson.core.JsonGenerator generator) throws IOException
Description copied from interface:IDataTypeAdapter
Writes the provided Java class instance as a JSON/YAML field value.- Specified by:
writeJsonValue
in interfaceIDataTypeAdapter<BigDecimal>
- Overrides:
writeJsonValue
in classAbstractDataTypeAdapter<BigDecimal,IDecimalItem>
- Parameters:
value
- theField
instance value to writegenerator
- the JSON/YAML writer used to output the JSON/YAML data- Throws:
IOException
- if an unexpected error occurred while writing the JSON/YAML output
-
copy
public BigDecimal copy(Object obj)
Description copied from interface:IDataTypeAdapter
Create a copy of the provided value.- Parameters:
obj
- the value to copy- Returns:
- the copy
-
getItemClass
public Class<IDecimalItem> getItemClass()
Description copied from interface:IDataTypeAdapter
Get the java type of the associated item.- Specified by:
getItemClass
in interfaceIDataTypeAdapter<BigDecimal>
- Specified by:
getItemClass
in classAbstractDataTypeAdapter<BigDecimal,IDecimalItem>
- Returns:
- the java associated item type
-
newItem
public IDecimalItem newItem(Object value)
Description copied from interface:IDataTypeAdapter
Construct a new item of this type using the provided value.- Specified by:
newItem
in interfaceIDataTypeAdapter<BigDecimal>
- Specified by:
newItem
in classAbstractDataTypeAdapter<BigDecimal,IDecimalItem>
- Parameters:
value
- the item's value- Returns:
- a new item
-
castInternal
protected IDecimalItem castInternal(@NonNull IAnyAtomicItem item)
Description copied from class:AbstractDataTypeAdapter
Attempt to cast the provided item to this adapter's item type.The default implementation of this will attempt to parse the provided item as a string using the
IDataTypeAdapter.parse(String)
method. If this behavior is undesirable, then a subclass should override this method.- Overrides:
castInternal
in classAbstractDataTypeAdapter<BigDecimal,IDecimalItem>
- Parameters:
item
- the item to cast- Returns:
- the item casted to this adapter's item type
-
-