Package com.iizix.value
Class NumberValue<TYPE extends java.lang.Number>
- java.lang.Object
- com.iizix.value.NumberValue<TYPE>
- All Implemented Interfaces:
IValueObject<TYPE>
- Direct Known Subclasses:
BigDecimalValue
,BigIntegerValue
,ByteValue
,DoubleValue
,FloatValue
,IntegerValue
,LongValue
,ShortValue
public abstract class NumberValue<TYPE extends java.lang.Number> extends java.lang.Object implements IValueObject<TYPE>
Base class for Number values.- Author:
- Christopher Mindus
Field Summary
Fields inherited from interface com.iizix.value.IValueObject
PATTERN_BASIC_ISO_DATE, PATTERN_CURRENCY, PATTERN_FULL, PATTERN_INTEGER, PATTERN_ISO_DATE, PATTERN_ISO_DATE_TIME, PATTERN_ISO_INSTANT, PATTERN_ISO_LOCAL_DATE, PATTERN_ISO_LOCAL_DATE_TIME, PATTERN_ISO_LOCAL_TIME, PATTERN_ISO_OFFSET_DATE, PATTERN_ISO_OFFSET_DATE_TIME, PATTERN_ISO_OFFSET_TIME, PATTERN_ISO_ORDINAL_DATE, PATTERN_ISO_TIME, PATTERN_ISO_WEEK_DATE, PATTERN_ISO_ZONED_DATE_TIME, PATTERN_LONG, PATTERN_MEDIUM, PATTERN_PERCENT, PATTERN_RFC_1123_DATE_TIME, PATTERN_SHORT, RESOLVER_LENIENT, RESOLVER_LENIENT_NO_BRACKETS, RESOLVER_SMART, RESOLVER_SMART_NO_BRACKETS, RESOLVER_STRICT, RESOLVER_STRICT_NO_BRACKETS
Constructor Summary
Constructors Constructor Description NumberValue()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description long
asLong(TYPE value, LocaleInfo localeInfo)
Returns a long value if possible.java.text.NumberFormat
getFormatter(java.lang.String pattern, LocaleInfo localeInfo)
Returns the Formatter for a pattern.boolean
isRightAligned()
Checks if this type is right-aligned in table columns.TYPE
load(java.lang.String value, org.w3c.dom.Element element)
Loads the value from an Element.abstract TYPE
parse(java.lang.String value)
Creates a Value object from a String using a specified pattern and locale.TYPE
parse(java.lang.String value, java.lang.String pattern, LocaleInfo localeInfo)
Creates a Value object from a String using a specified pattern and locale.java.lang.String
save(TYPE value, org.w3c.dom.Element element)
Saves the value to an Element.java.lang.String
toString(TYPE value)
The default "toString" representation.java.lang.String
toString(TYPE value, java.lang.String pattern, LocaleInfo localeInfo)
Formats the value to a String.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.iizix.value.IValueObject
asLongCast, convert, createDefault, getDescription, getValueClass, getValueType, saveCast, toStringCast, toStringForced
Method Detail
isRightAligned
public final boolean isRightAligned()
Checks if this type is right-aligned in table columns.- Specified by:
isRightAligned
in interfaceIValueObject<TYPE extends java.lang.Number>
- Returns:
- true for right-aligned values, default is false: left-aligned.
getFormatter
public final java.text.NumberFormat getFormatter(java.lang.String pattern, LocaleInfo localeInfo) throws java.lang.IllegalArgumentException
Returns the Formatter for a pattern.- Specified by:
getFormatter
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
pattern
- The pattern to use, null for none.localeInfo
- The locale information instance, or null for none.- Returns:
- The formatter to use, or null for none.
- Throws:
java.lang.IllegalArgumentException
- For pattern errors.
toString
public final java.lang.String toString(TYPE value)
The default "toString" representation.- Specified by:
toString
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The value could be null.- Returns:
- The String representation.
toString
public final java.lang.String toString(TYPE value, java.lang.String pattern, LocaleInfo localeInfo) throws java.lang.Exception
Formats the value to a String.- Specified by:
toString
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The value is never null.pattern
- Pattern to use, null for none.localeInfo
- The locale information instance, or null for none.- Returns:
- The String representation using specified pattern and locale information.
- Throws:
java.lang.Exception
- For formatter errors.
parse
public final TYPE parse(java.lang.String value, java.lang.String pattern, LocaleInfo localeInfo) throws java.text.ParseException, java.lang.Exception
Creates a Value object from a String using a specified pattern and locale.- Specified by:
parse
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The value, never null.pattern
- The pattern, null for none.localeInfo
- The locale info, null for default.- Returns:
- The value object, never null.
- Throws:
java.text.ParseException
- If the value could not be parsed.java.lang.Exception
- For other errors.
parse
public abstract TYPE parse(java.lang.String value) throws java.lang.NumberFormatException
Creates a Value object from a String using a specified pattern and locale.- Specified by:
parse
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The value, never null.- Returns:
- The value object, never null.
- Throws:
java.lang.NumberFormatException
- For number format errors.
load
public final TYPE load(java.lang.String value, org.w3c.dom.Element element) throws java.text.ParseException
Loads the value from an Element.- Specified by:
load
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The String value in the element.element
- The element holding the information for advanced processing using JAXB.- Throws:
java.text.ParseException
- An exception due to parsing, bean unmarshalling, etc.
save
public final java.lang.String save(TYPE value, org.w3c.dom.Element element)
Saves the value to an Element.- Specified by:
save
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The value to save.element
- The element to save information into for advanced processing using JAXB.- Returns:
- The String value to set in the Element, or null if advanced processing is used.
asLong
public final long asLong(TYPE value, LocaleInfo localeInfo)
Returns a long value if possible.- Specified by:
asLong
in interfaceIValueObject<TYPE extends java.lang.Number>
- Parameters:
value
- The Value object.localeInfo
- The locale information, null to look-up from current thread or if not found, for system default.- Returns:
- The long value, e.g. in milliseconds, or Long.MIN_VALUE for not possible.