Class 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
    • Constructor Detail

      • BinaryValue

        public BinaryValue()
    • Method Detail

      • getValueClass

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

        public java.lang.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​(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 interface IValueObject<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 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:
        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 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:
        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 interface IValueObject<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 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:
        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, 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​(java.lang.String value,
                           org.w3c.dom.Element element)
                    throws java.lang.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:
        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 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:
        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 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:
        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 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.