Class BinaryValue

java.lang.Object
com.iizix.value.BinaryValue
All Implemented Interfaces:
IValueObject<byte[]>

public class BinaryValue extends Object implements IValueObject<byte[]>
Value object class to handle the byte array datatype.
Author:
Christopher Mindus
  • Constructor Details

    • BinaryValue

      public BinaryValue()
  • Method Details

    • getValueType

      public final Value.Type getValueType()
      Gets the value type.
      Specified by:
      getValueType in interface IValueObject<byte[]>
      Returns:
      Value.Type.Binary.
    • getValueClass

      public Class<byte[]> getValueClass()
      Gets the class of the value.
      Specified by:
      getValueClass in interface IValueObject<byte[]>
    • getDescription

      public String getDescription()
      Gets the description of the type, used for the Designer.
      Specified by:
      getDescription in interface IValueObject<byte[]>
    • createDefault

      public byte[] createDefault()
      Creates the default value object for the data type.
      Specified by:
      createDefault in interface IValueObject<byte[]>
      Returns:
      The default value.
    • parse

      public byte[] parse(String value) throws ParseException
      Creates a Value object from a String using a specified pattern and locale.
      Specified by:
      parse in interface IValueObject<byte[]>
      Parameters:
      value - The value, never null.
      Returns:
      The value object, never null.
      Throws:
      ParseException - If the value could not be parsed.
    • parse

      public byte[] parse(String value, String pattern, LocaleInfo localeInfo) throws ParseException, IllegalArgumentException
      Creates a Value object from a String using a specified pattern and locale.
      Specified by:
      parse in interface IValueObject<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:
      ParseException - If the value could not be parsed.
      IllegalArgumentException - For pattern errors.
    • getFormatter

      public Format getFormatter(String pattern, LocaleInfo localeInfo) throws IllegalArgumentException
      Returns the Formatter for a pattern.
      Specified by:
      getFormatter in interface IValueObject<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:
      IllegalArgumentException - For pattern errors.
    • toString

      public String toString(byte[] value)
      The default "toString" representation is in hex.
      Specified by:
      toString in interface IValueObject<byte[]>
      Parameters:
      value - The value could be null.
      Returns:
      The String representation.
    • toString

      public String toString(byte[] value, String pattern, LocaleInfo localeInfo) throws IllegalArgumentException
      Formats the value to a String.
      Specified by:
      toString in interface IValueObject<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:
      IllegalArgumentException - For pattern errors.
    • toStringForced

      public String toStringForced(Object value)
      Calls the "toString" method with any object, casting it. IF casting fails, which should not be, then String.valueOf(value) is called.
      Specified by:
      toStringForced in interface IValueObject<byte[]>
      Parameters:
      value - The value could be null.
      Returns:
      The String representation.
    • load

      public byte[] load(String value, Element element) throws Exception
      Loads the value from an Element.
      Specified by:
      load in interface IValueObject<byte[]>
      Parameters:
      value - The String value in the element.
      element - The element holding the information for advanced processing using JAXB.
      Throws:
      Exception - An exception due to parsing, bean unmarshalling, etc.
    • save

      public String save(byte[] value, Element element) throws Exception
      Saves the value to an Element.
      Specified by:
      save in interface IValueObject<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:
      Exception
    • convert

      public byte[] convert(Object value, Value.Type oldType, LocaleInfo localeInfo) throws Exception
      Converts a value from another type. If the type is not defined, check the object instance for possible conversions.
      Specified by:
      convert in interface IValueObject<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:
      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 interface IValueObject<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.