Package com.iizix.value
Class BinaryValue
- java.lang.Object
- com.iizix.value.BinaryValue
- All Implemented Interfaces:
IValueObject<byte[]>
public class BinaryValue extends java.lang.Object implements IValueObject<byte[]>
Value object class to handle the byte array datatype.- 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 BinaryValue()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
asLong(byte[] value, LocaleInfo localeInfo)
Returns a long value if possible.byte[]
convert(java.lang.Object value, Value.Type oldType, LocaleInfo localeInfo)
Converts a value from another type.byte[]
createDefault()
Creates the default value object for the data type.java.lang.String
getDescription()
Gets the description of the type, used for the Designer.java.text.Format
getFormatter(java.lang.String pattern, LocaleInfo localeInfo)
Returns the Formatter for a pattern.java.lang.Class<byte[]>
getValueClass()
Gets the class of the value.Value.Type
getValueType()
Gets the value type.byte[]
load(java.lang.String value, org.w3c.dom.Element element)
Loads the value from an Element.byte[]
parse(java.lang.String value)
Creates a Value object from a String using a specified pattern and locale.byte[]
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(byte[] value, org.w3c.dom.Element element)
Saves the value to an Element.java.lang.String
toString(byte[] value)
The default "toString" representation is in hex.java.lang.String
toString(byte[] value, java.lang.String pattern, LocaleInfo localeInfo)
Formats the value to a String.java.lang.String
toStringForced(java.lang.Object value)
Calls the "toString" method with any object, casting it.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, isRightAligned, saveCast, toStringCast
Method Detail
getValueType
public final Value.Type getValueType()
Gets the value type.- Specified by:
getValueType
in interfaceIValueObject<byte[]>
- Returns:
- Value.Type.Binary.
getValueClass
public java.lang.Class<byte[]> getValueClass()
Gets the class of the value.- Specified by:
getValueClass
in interfaceIValueObject<byte[]>
getDescription
public java.lang.String getDescription()
Gets the description of the type, used for the Designer.- Specified by:
getDescription
in interfaceIValueObject<byte[]>
createDefault
public byte[] createDefault()
Creates the default value object for the data type.- Specified by:
createDefault
in interfaceIValueObject<byte[]>
- Returns:
- The default value.
parse
public byte[] parse(java.lang.String value) throws java.text.ParseException
Creates a Value object from a String using a specified pattern and locale.- Specified by:
parse
in interfaceIValueObject<byte[]>
- Parameters:
value
- The value, never null.- Returns:
- The value object, never null.
- Throws:
java.text.ParseException
- If the value could not be parsed.
parse
public byte[] parse(java.lang.String value, java.lang.String pattern, LocaleInfo localeInfo) throws java.text.ParseException, java.lang.IllegalArgumentException
Creates a Value object from a String using a specified pattern and locale.- Specified by:
parse
in interfaceIValueObject<byte[]>
- 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.IllegalArgumentException
- For pattern errors.
getFormatter
public java.text.Format getFormatter(java.lang.String pattern, LocaleInfo localeInfo) throws java.lang.IllegalArgumentException
Returns the Formatter for a pattern.- Specified by:
getFormatter
in interfaceIValueObject<byte[]>
- 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 java.lang.String toString(byte[] value)
The default "toString" representation is in hex.- Specified by:
toString
in interfaceIValueObject<byte[]>
- Parameters:
value
- The value could be null.- Returns:
- The String representation.
toString
public java.lang.String toString(byte[] value, java.lang.String pattern, LocaleInfo localeInfo) throws java.lang.IllegalArgumentException
Formats the value to a String.- Specified by:
toString
in interfaceIValueObject<byte[]>
- 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.IllegalArgumentException
- For pattern errors.
toStringForced
public java.lang.String toStringForced(java.lang.Object value)
Calls the "toString" method with any object, casting it. IF casting fails, which should not be, thenString.valueOf(value)
is called.- Specified by:
toStringForced
in interfaceIValueObject<byte[]>
- Parameters:
value
- The value could be null.- Returns:
- The String representation.
load
public byte[] load(java.lang.String value, org.w3c.dom.Element element) throws java.lang.Exception
Loads the value from an Element.- Specified by:
load
in interfaceIValueObject<byte[]>
- Parameters:
value
- The String value in the element.element
- The element holding the information for advanced processing using JAXB.- Throws:
java.lang.Exception
- An exception due to parsing, bean unmarshalling, etc.
save
public java.lang.String save(byte[] value, org.w3c.dom.Element element) throws java.lang.Exception
Saves the value to an Element.- Specified by:
save
in interfaceIValueObject<byte[]>
- 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.
- Throws:
java.lang.Exception
convert
public byte[] convert(java.lang.Object value, Value.Type oldType, LocaleInfo localeInfo) throws java.lang.Exception
Converts a value from another type. If the type is not defined, check the object instance for possible conversions.- Specified by:
convert
in interfaceIValueObject<byte[]>
- Parameters:
value
- The value to convert.oldType
- The old type, null for not defined.localeInfo
- The locale information, null to look-up from current thread or if not found, for system default.- Returns:
- The value object.
- Throws:
java.lang.Exception
- If a string cannot be parsed from hex.
asLong
public long asLong(byte[] value, LocaleInfo localeInfo)
Returns a long value if possible.- Specified by:
asLong
in interfaceIValueObject<byte[]>
- 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.