org.apache.derby.iapi.types
Class JSQLType

java.lang.Object
  extended by org.apache.derby.iapi.types.JSQLType
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Formatable, TypedFormat

public final class JSQLType
extends java.lang.Object
implements Formatable

Type descriptor which wraps all 3 kinds of types supported in Derby's JSQL language: SQL types, Java primitives, Java classes. This interface was originally added to support the serializing of WorkUnit signatures.

See Also:
Serialized Form

Field Summary
static byte BOOLEAN
           
static byte BYTE
           
private  byte category
           
static byte CHAR
           
static byte DOUBLE
           
static byte FLOAT
           
static byte INT
           
static byte JAVA_CLASS
           
static byte JAVA_PRIMITIVE
           
private  java.lang.String javaClassName
           
static byte LONG
           
static byte NOT_PRIMITIVE
           
private  byte primitiveKind
           
private static java.lang.String[] primitiveNames
           
static byte SHORT
           
private  DataTypeDescriptor sqlType
           
static byte SQLTYPE
           
private static java.lang.String[] wrapperClassNames
           
 
Constructor Summary
JSQLType()
          Public 0-arg constructor for Formatable machinery.
JSQLType(byte primitiveKind)
          Create a JSQLType for a Java primitive.
JSQLType(DataTypeDescriptor sqlType)
          Create a JSQLType from a SQL type.
JSQLType(java.lang.String javaName)
          Create a JSQLType given the name of a Java primitive or java class.
 
Method Summary
 byte getCategory()
          What kind of type is this:
 java.lang.String getJavaClassName()
          If this is a JAVA_CLASS, what is it's name?
private static byte getPrimitiveID(java.lang.String name)
          Translate the name of a java primitive to an id
 byte getPrimitiveKind()
          If this is a JAVA_PRIMITIVE, what is its name?
static java.lang.String getPrimitiveName(byte index)
           
 DataTypeDescriptor getSQLType()
          What's our SQLTYPE?
 int getTypeFormatId()
          Get the formatID which corresponds to this class.
private static java.lang.String getWrapperClassName(byte primitive)
          Gets the name of the java wrapper class corresponding to a primitive.
private  void initialize(byte primitiveKind)
           
private  void initialize(byte category, DataTypeDescriptor sqlType, java.lang.String javaClassName, byte primitiveKind)
          Initialize this JSQL type.
private  void initialize(DataTypeDescriptor sqlType)
           
private  void initialize(java.lang.String javaClassName)
           
 void readExternal(java.io.ObjectInput in)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SQLTYPE

public static final byte SQLTYPE
See Also:
Constant Field Values

JAVA_CLASS

public static final byte JAVA_CLASS
See Also:
Constant Field Values

JAVA_PRIMITIVE

public static final byte JAVA_PRIMITIVE
See Also:
Constant Field Values

NOT_PRIMITIVE

public static final byte NOT_PRIMITIVE
See Also:
Constant Field Values

BOOLEAN

public static final byte BOOLEAN
See Also:
Constant Field Values

CHAR

public static final byte CHAR
See Also:
Constant Field Values

BYTE

public static final byte BYTE
See Also:
Constant Field Values

SHORT

public static final byte SHORT
See Also:
Constant Field Values

INT

public static final byte INT
See Also:
Constant Field Values

LONG

public static final byte LONG
See Also:
Constant Field Values

FLOAT

public static final byte FLOAT
See Also:
Constant Field Values

DOUBLE

public static final byte DOUBLE
See Also:
Constant Field Values

wrapperClassNames

private static final java.lang.String[] wrapperClassNames

primitiveNames

private static final java.lang.String[] primitiveNames

category

private byte category

sqlType

private DataTypeDescriptor sqlType

javaClassName

private java.lang.String javaClassName

primitiveKind

private byte primitiveKind
Constructor Detail

JSQLType

public JSQLType()
Public 0-arg constructor for Formatable machinery.


JSQLType

public JSQLType(DataTypeDescriptor sqlType)
Create a JSQLType from a SQL type.

Parameters:
sqlType - the SQL type to wrap

JSQLType

public JSQLType(java.lang.String javaName)
Create a JSQLType given the name of a Java primitive or java class.

Parameters:
javaName - name of java primitive or class to wrap

JSQLType

public JSQLType(byte primitiveKind)
Create a JSQLType for a Java primitive.

Parameters:
primitiveKind - primitive to wrap
Method Detail

getCategory

public byte getCategory()
What kind of type is this:

Returns:
one of the following: SQLTYPE, JAVA_PRIMITIVE, JAVA_CLASS

getPrimitiveKind

public byte getPrimitiveKind()
If this is a JAVA_PRIMITIVE, what is its name?

Returns:
BOOLEAN, INT, ... if this is a JAVA_PRIMITIVE. NOT_PRIMITIVE if this is SQLTYPE or JAVA_CLASS.

getJavaClassName

public java.lang.String getJavaClassName()
If this is a JAVA_CLASS, what is it's name?

Returns:
java class name if this is a JAVA_CLASS null if this is SQLTYPE or JAVA_PRIMITIVE

getSQLType

public DataTypeDescriptor getSQLType()
                              throws StandardException
What's our SQLTYPE?

Returns:
the DataTypeDescriptor corresponding to this type
Throws:
StandardException

getPrimitiveName

public static java.lang.String getPrimitiveName(byte index)

getTypeFormatId

public int getTypeFormatId()
Get the formatID which corresponds to this class.

Specified by:
getTypeFormatId in interface TypedFormat
Returns:
the formatID of this class

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException - thrown on error
java.lang.ClassNotFoundException - thrown on error
See Also:
Externalizable.readExternal(java.io.ObjectInput)

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException - thrown on error

initialize

private void initialize(byte primitiveKind)

initialize

private void initialize(DataTypeDescriptor sqlType)

initialize

private void initialize(java.lang.String javaClassName)

initialize

private void initialize(byte category,
                        DataTypeDescriptor sqlType,
                        java.lang.String javaClassName,
                        byte primitiveKind)
Initialize this JSQL type. Minion of all constructors.

Parameters:
category - SQLTYPE, JAVA_CLASS, JAVA_PRIMITIVE
sqlType - corresponding SQL type if category=SQLTYPE
javaClassName - corresponding java class if category=JAVA_CLASS
primitiveKind - kind of primitive if category=JAVA_PRIMITIVE

getWrapperClassName

private static java.lang.String getWrapperClassName(byte primitive)
Gets the name of the java wrapper class corresponding to a primitive.

Parameters:
primitive - BOOLEAN, INT, ... etc.
Returns:
name of the java wrapper class corresponding to the primitive

getPrimitiveID

private static byte getPrimitiveID(java.lang.String name)
Translate the name of a java primitive to an id

Parameters:
name - name of primitive
Returns:
BOOLEAN, INT, ... etc if the name is that of a primitive. NOT_PRIMITIVE otherwise

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.