org.xins.common.types.standard
Class Hex

java.lang.Object
  extended byorg.xins.common.types.Type
      extended byorg.xins.common.types.standard.Hex

public class Hex
extends Type

Standard type _hex.

Since:
XINS 1.5.0.
Version:
$Revision: 1.13 $ $Date: 2008/07/04 10:22:44 $
Author:
gveiog

Field Summary
static Hex SINGLETON
          The only instance of this class.
 
Constructor Summary
protected Hex(String name, int minimum, int maximum)
          Constructs a new Hex object (constructor for subclasses).
 
Method Summary
static byte[] fromStringForOptional(String string)
          Converts the specified string value to a byte[] value.
static byte[] fromStringForRequired(String string)
          Converts the specified non-null string value to a byte[] value.
protected  Object fromStringImpl(String string)
          Converts from a String to an instance of the value class for this type (implementation method).
 String getDescription()
          Retrieves the description of this type.
protected  boolean isValidValueImpl(String string)
          Determines if the specified String value is considered valid for this type (implementation method).
static String toString(byte[] value)
          Converts the specified byte[] to a hexadecimal string.
 String toString(Object value)
          Generates a string representation of the specified value for this type.
 
Methods inherited from class org.xins.common.types.Type
checkValue, fromString, getName, getValueClass, isValidValue, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SINGLETON

public static final Hex SINGLETON
The only instance of this class. This field is never null.

Constructor Detail

Hex

protected Hex(String name,
              int minimum,
              int maximum)
Constructs a new Hex object (constructor for subclasses).

Parameters:
name - the name of this type, cannot be null.
minimum - the minimum for the value.# minimum number of bytes this Hex can have
maximum - the maximum for the value.# maximum number of bytes this Hex can have
Method Detail

fromStringForRequired

public static byte[] fromStringForRequired(String string)
                                    throws IllegalArgumentException,
                                           TypeValueException
Converts the specified non-null string value to a byte[] value.

Parameters:
string - the hexadecimal string to convert, cannot be null.
Returns:
the byte[] value.
Throws:
IllegalArgumentException - if string == null.
TypeValueException - if the specified string does not represent a valid value for this type.If the string does not have a hexadecimal value or have a character that is not hexadecimal digit.

fromStringForOptional

public static byte[] fromStringForOptional(String string)
                                    throws TypeValueException
Converts the specified string value to a byte[] value.

Parameters:
string - the hexadecimal string to convert, can be null.
Returns:
the byte[], or null if string == null.
Throws:
TypeValueException - if the specified string does not represent a valid value for this type.If the string does not have a hexadecimal value or have a character that is not hexadecimal digit.

toString

public static String toString(byte[] value)
Converts the specified byte[] to a hexadecimal string.

Parameters:
value - the value to convert, can be null.
Returns:
the textual representation of the value, or null if and only if value == null.

isValidValueImpl

protected boolean isValidValueImpl(String string)
Determines if the specified String value is considered valid for this type (implementation method).

This method is called from Type.isValidValue(String). When called from that method, it is guaranteed that the argument is not null. # 1.check if the string has hex digits # 2. if the byte[] created from that string has minimum < byte[].length < maximum

Overrides:
isValidValueImpl in class Type
Parameters:
string - the String value that should be checked for validity, never null.
Returns:
true if and only if the specified String value is valid, false otherwise.

fromStringImpl

protected Object fromStringImpl(String string)
                         throws TypeValueException
Converts from a String to an instance of the value class for this type (implementation method).

This method is not required to check the validity of the specified value (since isValidValueImpl(String) should have been called before) but if it does, then it may throw a TypeValueException.

Specified by:
fromStringImpl in class Type
Parameters:
string - the string to convert to an instance of the value class, guaranteed to be not null and guaranteed to have been passed to isValidValueImpl(String) without getting an exception.
Returns:
an instance of the value class, cannot be null.
Throws:
TypeValueException - if string is considered to be an invalid value for this type.

toString

public final String toString(Object value)
                      throws IllegalArgumentException,
                             ClassCastException,
                             TypeValueException
Generates a string representation of the specified value for this type. The specified value must be an instance of the value class for this type (see Type.getValueClass()). Also, it may have to fall within a certain range of valid values, depending on the type.

Overrides:
toString in class Type
Parameters:
value - the value, cannot be null.
Returns:
the string representation of the specified value for this type, cannot be null.
Throws:
IllegalArgumentException - if value == null.
ClassCastException - if getValueClass().isInstance(value) == false.
TypeValueException - if the specified value is not in the allowed range. #Maybe this is redundant because i dont think that there is any possibility to be out of range but since it exists also to other standard types i left it.

getDescription

public String getDescription()
Description copied from class: Type
Retrieves the description of this type.

Overrides:
getDescription in class Type
Returns:
the description of this type, never null.


See http://www.xins.org/.