Data Request Broker
2-3-release

fr.gael.drb.value
Class BinaryInteger

java.lang.Object
  extended by fr.gael.drb.value.Int
      extended by fr.gael.drb.value.BinaryInteger
All Implemented Interfaces:
DrbItem, Arithmetic, Comparison, Logic, Numeric, Sumable, Value, ValueFormat, Serializable, Comparable

public class BinaryInteger
extends Int

The BinaryInteger class is a generic wrapper for binary integer values. For all arithmetics operations it is handled as a simple Integer.

See Also:
Serialized Form

Field Summary
static short DIGIT_AS_NEEDED
          This flag indicates that the number of significants digit is not fixed.
 
Fields inherited from class fr.gael.drb.value.Int
PRIORITY, value
 
Fields inherited from interface fr.gael.drb.value.Value
ARRAY_ID, BINARY_ID, BINARY_INTEGER_ID, BOOLEAN_ID, BYTE_ID, DATE_ID, DATE_TIME_ID, DAY_ID, DAY_TIME_DURATION_ID, DECIMAL_ID, DOUBLE_ID, DURATION_ID, FLOAT_ID, INT_ID, INTEGER_ID, LONG_ID, MONTH_DAY_ID, MONTH_ID, NULL_ID, NUMERIC_ID, OTHER_ID, SHORT_ID, STRING_ID, TIME_ID, UNKNOWN_ID, UNSIGNED_BYTE_ID, UNSIGNED_INT_ID, UNSIGNED_LONG_ID, UNSIGNED_SHORT_ID, YEAR_ID, YEAR_MONTH_DURATION_ID, YEAR_MONTH_ID
 
Fields inherited from interface fr.gael.drb.DrbItem
ATTRIBUTE_ITEM, NODE_ITEM, UNDEFINED_ITEM, VALUE_ITEM
 
Constructor Summary
BinaryInteger(int v)
          Constructs a BinaryInteger object initialized to the specified int value.
BinaryInteger(int v, int num_digit)
          Constructs a BinaryInteger object initialized to the specified int value.
 
Method Summary
 boolean and(Value x)
          Compute a logical AND.
 int compareTo(Object obj)
          Compares this object with the specified object for order.
 Value convertTo(int type)
          Convert the value into the specified type.
protected  BigDecimal decimalValue()
          Returns this value as a BigDecimal.
 boolean equals(Object obj)
          Indicates whether this value is "equal to" to another value.
 int getItemType()
          A code that identifies the value items.
 String getName()
          Name of the item.
 String getNamespaceURI()
          Get namespace URI.
 int getType()
          The type identifier of this Integer value.
 Value getValue()
          The value of the item.
 int hashCode()
          Returns a hash code value for the object.
protected  BigInteger integerValue()
          Returns this value as a BigInteger.
 boolean or(Value x)
          Compute a logical OR.
 void rename(String name)
          Changes the name of the item.
 void setNamespaceURI(String namespace_uri)
          Sets a namespace resource identifier.
 Value setValue(Value value)
          Changes the value of the item.
 Numeric toNumeric()
          Convert the value into the numeric type.
 String toString()
          Returns a new String object representing this BinaryInteger.
 
Methods inherited from class fr.gael.drb.value.Int
add, assign, assign, assign, assign, assign, assign, assign, assign, booleanValue, byteValue, compareTo, divide, doubleValue, floatValue, getFormattedBuffer, getFormattedBuffer, getFormattedString, getFormattedString, getPriority, intValue, longValue, main, modulus, multiply, shortValue, sub, unaryMinus
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface fr.gael.drb.DrbItem
getItemType, getName, getNamespaceURI, getValue, rename, setNamespaceURI, setValue
 

Field Detail

DIGIT_AS_NEEDED

public static short DIGIT_AS_NEEDED
This flag indicates that the number of significants digit is not fixed.

Constructor Detail

BinaryInteger

public BinaryInteger(int v)
Constructs a BinaryInteger object initialized to the specified int value.

Parameters:
v - the value of the BinaryInteger.

BinaryInteger

public BinaryInteger(int v,
                     int num_digit)
Constructs a BinaryInteger object initialized to the specified int value.

Parameters:
v - the value of the BinaryInteger.
num_digit - The number of significant digit to be used. A negative value denotes a binary with unfixed number of digit.
See Also:
DIGIT_AS_NEEDED
Method Detail

toString

public String toString()
Returns a new String object representing this BinaryInteger. The String is a sequence of bits value.

Overrides:
toString in class Int
Returns:
a string representation of the object.

getType

public int getType()
The type identifier of this Integer value.

Specified by:
getType in interface Value
Overrides:
getType in class Int
Returns:
an identifier of the Integer type.

convertTo

public Value convertTo(int type)
                throws ClassCastException
Convert the value into the specified type. In case of identity conversion the value itself is returned. If the conversion is not allowed a ClassCastException is thrown. The type must be a number (BOOLEAN_ID to DOUBLE_ID) or an array.

Specified by:
convertTo in interface Value
Overrides:
convertTo in class Int
Parameters:
type - The target type.
Returns:
The converted value.
Throws:
ClassCastException - is the convertion is impossible

equals

public boolean equals(Object obj)
Indicates whether this value is "equal to" to another value. See Object.equals() for the general contract of this method.

Overrides:
equals in class Object
Parameters:
obj - another value.
Returns:
true if this object is the same as the obj argument

hashCode

public int hashCode()
Returns a hash code value for the object. See Object.hashCode() for the general contract of this method.

Overrides:
hashCode in class Object
Returns:
a hash code value for this object.

compareTo

public int compareTo(Object obj)
Compares this object with the specified object for order. See Comparable.compareTo() for the general contract of this method.

Specified by:
compareTo in interface Comparable
Parameters:
obj - the Object to be compared.
Returns:
a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

toNumeric

public final Numeric toNumeric()
                        throws ClassCastException
Convert the value into the numeric type. In case of identity conversion the value itself should be returned. If the conversion is not allowed a ClassCastException is thrown.

Returns:
The converted value.
Throws:
ClassCastException - is the convertion is impossible

integerValue

protected BigInteger integerValue()
Returns this value as a BigInteger. The conversion may result in a loss of precision.

Returns:
the numeric value represented by this object after conversion to type BigInteger.

decimalValue

protected BigDecimal decimalValue()
Returns this value as a BigDecimal. The conversion may result in a loss of precision.

Returns:
the numeric value represented by this object after conversion to type BigDecimal.

and

public final boolean and(Value x)
Compute a logical AND.

Specified by:
and in interface Logic
Parameters:
x - another value.
Returns:
logical AND of the two values.

or

public final boolean or(Value x)
Compute a logical OR.

Specified by:
or in interface Logic
Parameters:
x - another value.
Returns:
logical OR of the two values.

getItemType

public int getItemType()
A code that identifies the value items.

Specified by:
getItemType in interface DrbItem
Returns:
The code of value items.

getName

public String getName()
Name of the item. This method always returns null.

Specified by:
getName in interface DrbItem
Returns:
null

rename

public void rename(String name)
            throws NullPointerException,
                   UnsupportedOperationException
Changes the name of the item. This method always throw an UnsupportedOperationException.

Specified by:
rename in interface DrbItem
Parameters:
name - Reference to the new name.
Throws:
UnsupportedOperationException - This exception always raised because the name property is not defined for values.
NullPointerException - This exception is overriden by an UnsupportedOperationException.

getNamespaceURI

public String getNamespaceURI()
Get namespace URI. This method always returns null.

Specified by:
getNamespaceURI in interface DrbItem
Returns:
null.

setNamespaceURI

public void setNamespaceURI(String namespace_uri)
                     throws NullPointerException,
                            UnsupportedOperationException
Sets a namespace resource identifier. This method always throw an UnsupportedOperationException.

Specified by:
setNamespaceURI in interface DrbItem
Parameters:
namespace_uri - A reference to the new namespace identifier.
Throws:
UnsupportedOperationException - This exception always raised because the name property is not defined for values.
NullPointerException - This exception is overriden by an UnsupportedOperationException.

getValue

public Value getValue()
The value of the item. The value is expressed according to one of the types supported by the fr.gael.drb.value package. Generally these types correspond to primitive types (e.g. integer, floatting points, etc.) or very low level types (e.g. string, date, etc.). On the contrary to DOM implementation all the types are allowed even the arrays, date etc. Only the Value.NULL_ID type is forbidden.

Specified by:
getValue in interface DrbItem
Returns:
The value of the attribute.

setValue

public Value setValue(Value value)
               throws NullPointerException,
                      ClassCastException,
                      UnsupportedOperationException
Changes the value of the item. This operation sets a new value of the current item.The value type of the item shall be compatible with the item implementation. If the type does not match exactly it is casted to a compatible one based on the the fr.gael.drb.value capabilities. A reference to the effectivelly assigned value is returned by the operation so it is possible to check if a cast has been performed and therefore assess the accuracy of the assignement. If the cast is not possible the operation raises an UnsupportedOperationException. If the assignment is possible and the item implementation has a physical representation the value is updated in the physical source in order to persist among sessions. It therefore possible that this operation consumses an variable time.

Specified by:
setValue in interface DrbItem
Parameters:
value - The new value of the node. This value shall not be null.
Returns:
The effectivelly assigned value. The type of this value may differ from the input one.
Throws:
NullPointerException - This exception is raised when the passed reference to the value is null. This exception may be overriden by an UnsupportedOperationException.
ClassCastException - This exception is raised when the implementation has not succeeded to cast the input value in a type compatible with the current node.
UnsupportedOperationException - This exception is raised when the implementation does not support the requested assignment for any reason.

Data Request Broker - DRB API®
2-3-release

Copyright© 2001-2009 GAEL Consultant. All rights reserved. Use is subject to license terms .