net.sf.farrago.fennel.tuple
Class FennelStandardTypeDescriptor.FennelType

java.lang.Object
  extended by org.eigenbase.util14.Enum14.BasicValue
      extended by net.sf.farrago.fennel.tuple.FennelStandardTypeDescriptor
          extended by net.sf.farrago.fennel.tuple.FennelStandardTypeDescriptor.FennelType
All Implemented Interfaces:
Serializable, Comparable, FennelStoredTypeDescriptor, Enum14.Value
Direct Known Subclasses:
FennelStandardTypeDescriptor.FennelNumericType, FennelStandardTypeDescriptor.Type_BINARY, FennelStandardTypeDescriptor.Type_CHAR, FennelStandardTypeDescriptor.Type_UNICODE_CHAR, FennelStandardTypeDescriptor.Type_UNICODE_VARCHAR, FennelStandardTypeDescriptor.Type_VARBINARY, FennelStandardTypeDescriptor.Type_VARCHAR
Enclosing class:
FennelStandardTypeDescriptor

private abstract static class FennelStandardTypeDescriptor.FennelType
extends FennelStandardTypeDescriptor
implements FennelStoredTypeDescriptor, Serializable

Abstract base class for all types.


Field Summary
private static long serialVersionUID
          SerialVersionUID created with JDK 1.5 serialver tool.
 
Fields inherited from class net.sf.farrago.fennel.tuple.FennelStandardTypeDescriptor
BINARY, BINARY_ORDINAL, BOOL, BOOL_ORDINAL, CHAR, CHAR_ORDINAL, DOUBLE, DOUBLE_ORDINAL, enumeration, EXTENSION_MIN_ORDINAL, INT_16, INT_16_ORDINAL, INT_32, INT_32_ORDINAL, INT_64, INT_64_ORDINAL, INT_8, INT_8_ORDINAL, MIN_ORDINAL, REAL, REAL_ORDINAL, UINT_16, UINT_16_ORDINAL, UINT_32, UINT_32_ORDINAL, UINT_64, UINT_64_ORDINAL, UINT_8, UINT_8_ORDINAL, UNICODE_CHAR, UNICODE_CHAR_ORDINAL, UNICODE_VARCHAR, UNICODE_VARCHAR_ORDINAL, VARBINARY, VARBINARY_ORDINAL, VARCHAR, VARCHAR_ORDINAL
 
Constructor Summary
FennelStandardTypeDescriptor.FennelType(String name, int ordinal)
           
 
Method Summary
 int getAlignmentByteCount(int width)
          Gets the alignment size in bytes required for values of this type, given a particular max byte count.
 int getBitCount()
          Returns number of bits in marshalled representation, or 0 for a non-bit type; currently only 0 or 1 is supported.
 int getFixedByteCount()
          Returns the width in bytes for a fixed-width non-bit type which admits no per-attribute precision, or 0 for types with per-attribute precision; for bit types, this yields the size of the unmarshalled representation.
 int getMinByteCount(int maxWidth)
          Gets the number of bytes required to store the narrowest value with this type, given a particular max byte count.
 boolean isExact()
          Returns whether this ordinal is an exact numeric.
 boolean isNumeric()
          Returns whether this type is numeric.
 boolean isSigned()
          Indicates whether numeric data type is signed.
 
Methods inherited from class net.sf.farrago.fennel.tuple.FennelStandardTypeDescriptor
forOrdinal, get, isApprox, isArray, isBinaryArray, isFixedLenArray, isIntegralNative, isNative, isNativeNotBool, isTextArray, isVariableLenArray
 
Methods inherited from class org.eigenbase.util14.Enum14.BasicValue
compareTo, equals, equals, getDescription, getName, getOrdinal, hashCode, toString, unexpected
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.farrago.fennel.tuple.FennelStoredTypeDescriptor
getOrdinal, newAttributeAccessor
 

Field Detail

serialVersionUID

private static final long serialVersionUID
SerialVersionUID created with JDK 1.5 serialver tool.

See Also:
Constant Field Values
Constructor Detail

FennelStandardTypeDescriptor.FennelType

FennelStandardTypeDescriptor.FennelType(String name,
                                        int ordinal)
Method Detail

getBitCount

public int getBitCount()
Description copied from interface: FennelStoredTypeDescriptor
Returns number of bits in marshalled representation, or 0 for a non-bit type; currently only 0 or 1 is supported.

Specified by:
getBitCount in interface FennelStoredTypeDescriptor

getFixedByteCount

public int getFixedByteCount()
Description copied from interface: FennelStoredTypeDescriptor
Returns the width in bytes for a fixed-width non-bit type which admits no per-attribute precision, or 0 for types with per-attribute precision; for bit types, this yields the size of the unmarshalled representation.

Specified by:
getFixedByteCount in interface FennelStoredTypeDescriptor

getMinByteCount

public int getMinByteCount(int maxWidth)
Description copied from interface: FennelStoredTypeDescriptor
Gets the number of bytes required to store the narrowest value with this type, given a particular max byte count. For a fixed-width type, the return value is the same as the input.

Specified by:
getMinByteCount in interface FennelStoredTypeDescriptor
Parameters:
maxWidth - maximum width for which to compute the minimum
Returns:
number of bytes

getAlignmentByteCount

public int getAlignmentByteCount(int width)
Description copied from interface: FennelStoredTypeDescriptor
Gets the alignment size in bytes required for values of this type, given a particular max byte count. This must be 1, 2, 4, or 8, and may not be greater than 1 for variable-width datatypes. For fixed-width datatypes, the width must be a multiple of the alignment size.

Specified by:
getAlignmentByteCount in interface FennelStoredTypeDescriptor
Parameters:
width - width for which to compute the alignment
Returns:
number of bytes

isExact

public boolean isExact()
Description copied from class: FennelStandardTypeDescriptor
Returns whether this ordinal is an exact numeric.

Specified by:
isExact in interface FennelStoredTypeDescriptor
Overrides:
isExact in class FennelStandardTypeDescriptor
Returns:
false for non-numeric data types, false for approximate numeric data types (REAL, FLOAT) true for exact numeric data types

isSigned

public boolean isSigned()
Description copied from interface: FennelStoredTypeDescriptor
Indicates whether numeric data type is signed.

Specified by:
isSigned in interface FennelStoredTypeDescriptor
Returns:
false for non-numeric data types, false for unsigned numeric data types, true for signed numeric data types

isNumeric

public boolean isNumeric()
Description copied from class: FennelStandardTypeDescriptor
Returns whether this type is numeric.

Specified by:
isNumeric in class FennelStandardTypeDescriptor