|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> [ types overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.iapi.types
Class SQLChar

java.lang.Objectorg.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLChar
- All Implemented Interfaces:
- CloneableObject, ConcatableDataValue, DataValueDescriptor, java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, Orderable, java.io.Serializable, org.apache.derby.iapi.services.io.Storable, org.apache.derby.iapi.services.io.StreamStorable, StringDataValue, org.apache.derby.iapi.services.io.TypedFormat, VariableSizeDataValue
- Direct Known Subclasses:
- SQLNationalChar, SQLVarchar
- public class SQLChar
- extends DataType
- implements StringDataValue, org.apache.derby.iapi.services.io.StreamStorable
- extends DataType
SQLChar satisfies the DataValueDescriptor interfaces (i.e., OrderableDataType). It implements an String holder, e.g. for storing a column value; it can be specified when constructed to not allow nulls. Nullability cannot be changed after construction.
Because OrderableDataType is a subclass of DataType, SQLChar can play a role in either a DataType/ValueRow or a OrderableDataType/KeyRow, interchangeably.
| Field Summary | |
(package private) char[][] |
arg_passer
|
private static int |
BASE_MEMORY_USAGE
|
private static char[] |
BLANKS
Static array that can be used for blank padding. |
private java.text.CollationKey |
cKey
|
private static int |
GROWBY_FOR_CHAR
when we know that the array needs to grow by at least one byte, it is not performant to grow by just one byte instead this amount is used to provide a reasonable growby size. |
private int[] |
intArray
|
private int |
intLength
|
private org.apache.derby.iapi.services.i18n.LocaleFinder |
localeFinder
|
private char[] |
rawData
|
private int |
rawLength
|
protected static int |
RETURN_SPACE_THRESHOLD
threshold, that decides when we return space back to the VM see getString() where it is used |
protected java.io.InputStream |
stream
|
private java.lang.String |
value
|
| Fields inherited from interface org.apache.derby.iapi.types.StringDataValue |
BOTH, LEADING, TRAILING |
| Fields inherited from interface org.apache.derby.iapi.types.Orderable |
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
| Fields inherited from interface org.apache.derby.iapi.types.VariableSizeDataValue |
IGNORE_PRECISION |
| Constructor Summary | |
SQLChar()
no-arg constructor, required by Formattable. |
|
SQLChar(java.lang.String val)
|
|
| Method Summary | |
static void |
appendBlanks(char[] ca,
int offset,
int howMany)
|
NumberDataValue |
charLength(NumberDataValue result)
This method implements the char_length function for char. |
java.lang.Object |
cloneObject()
From CloneableObject Shallow clone a StreamStorable without objectifying. |
int |
compare(DataValueDescriptor other)
Compare this Orderable with a given Orderable for the purpose of index positioning. |
boolean |
compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of qualification and sorting. |
StringDataValue |
concatenate(StringDataValue leftOperand,
StringDataValue rightOperand,
StringDataValue result)
The SQL concatenation '||' operator. |
protected void |
copyState(SQLChar other)
|
BooleanDataValue |
equals(DataValueDescriptor left,
DataValueDescriptor right)
The = operator as called from the language module, as opposed to the storage module. |
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class. |
private void |
formatJDBCDate(java.util.Calendar cal,
java.lang.StringBuffer sb)
|
private void |
formatJDBCTime(java.util.Calendar cal,
java.lang.StringBuffer sb)
|
boolean |
getBoolean()
Gets the value in the data value descriptor as a boolean. |
byte |
getByte()
Gets the value in the data value descriptor as a byte. |
char[] |
getCharArray()
Get a char array. |
DataValueDescriptor |
getClone()
Clone this DataValueDescriptor. |
protected java.text.CollationKey |
getCollationKey()
|
java.sql.Date |
getDate(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Date. |
static java.sql.Date |
getDate(java.util.Calendar cal,
java.lang.String str,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
|
protected java.text.DateFormat |
getDateFormat()
|
protected java.text.DateFormat |
getDateFormat(java.util.Calendar cal)
|
double |
getDouble()
Gets the value in the data value descriptor as a double. |
float |
getFloat()
Gets the value in the data value descriptor as a float. |
int |
getInt()
Gets the value in the data value descriptor as an int. |
private int[] |
getIntArray()
|
private int |
getIntLength()
|
int |
getLength()
Gets the length of the data value. |
private java.util.Locale |
getLocale()
|
protected org.apache.derby.iapi.services.i18n.LocaleFinder |
getLocaleFinder()
|
long |
getLong()
Gets the value in the data value descriptor as a long. |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
protected StringDataValue |
getNewVarchar()
Get a SQLVarchar for a built-in string function. |
java.lang.Object |
getObject()
Gets the value in the data value descriptor as a Java Object. |
short |
getShort()
Gets the value in the data value descriptor as a short. |
java.io.InputStream |
getStream()
Gets the value in the data value descriptor as a Java InputStream. |
java.lang.String |
getString()
If possible, use getCharArray() if you don't really need a string. |
java.sql.Time |
getTime(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Time. |
static java.sql.Time |
getTime(java.util.Calendar cal,
java.lang.String str,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
|
protected java.text.DateFormat |
getTimeFormat()
|
protected java.text.DateFormat |
getTimeFormat(java.util.Calendar cal)
|
java.sql.Timestamp |
getTimestamp(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Timestamp. |
static java.sql.Timestamp |
getTimestamp(java.util.Calendar cal,
java.lang.String str,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
|
protected java.text.DateFormat |
getTimestampFormat()
|
protected java.text.DateFormat |
getTimestampFormat(java.util.Calendar cal)
|
int |
getTypeFormatId()
Return my format identifier. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
BooleanDataValue |
greaterOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The >= operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
greaterThan(DataValueDescriptor left,
DataValueDescriptor right)
The > operator as called from the language module, as opposed to the storage module. |
protected int |
growBy()
returns the reasonable minimum amount by which the array can grow . |
int |
hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int. |
protected void |
hasNonBlankChars(java.lang.String source,
int start,
int end)
|
protected boolean |
isNationalString()
Return whether or not this is a national character datatype. |
boolean |
isNull()
see if the String value is null. |
BooleanDataValue |
lessOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The <= operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
lessThan(DataValueDescriptor left,
DataValueDescriptor right)
The < operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
like(DataValueDescriptor pattern)
This method implements the like function for char (with no escape value). |
BooleanDataValue |
like(DataValueDescriptor pattern,
DataValueDescriptor escape)
This method implements the like function for char with an escape value. |
void |
loadStream()
sets the stream state for the object. |
NumberDataValue |
locate(StringDataValue searchFrom,
NumberDataValue start,
NumberDataValue result)
This method implements the locate function for char. |
StringDataValue |
lower(StringDataValue result)
Convert the string to lower case. |
protected java.sql.Date |
nationalGetDate(java.util.Calendar cal)
This implements getDate() for the national types. |
protected java.sql.Time |
nationalGetTime(java.util.Calendar cal)
This implements getTime() for the national types. |
protected java.sql.Timestamp |
nationalGetTimestamp(java.util.Calendar cal)
This implements getTimestamp() for the national types. |
protected int |
nationalHashCode()
Implementation of hashCode() for the national character types, put here to make it accessible to all the national types. |
void |
normalize(DataTypeDescriptor desiredType,
DataValueDescriptor source)
Normalization method - this method may be called when putting a value into a SQLChar, for example, when inserting into a SQLChar column. |
protected void |
normalize(DataTypeDescriptor desiredType,
java.lang.String sourceValue)
|
BooleanDataValue |
notEquals(DataValueDescriptor left,
DataValueDescriptor right)
The <> operator as called from the language module, as opposed to the storage module. |
void |
readExternal(java.io.ObjectInput in)
This method restores an object's state by reading in the instance data for the object from the passed in stream. |
void |
readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in)
Reads in a string from the specified data input stream. |
void |
restoreToNull()
Restore this object to its (SQL)null value. |
java.io.InputStream |
returnStream()
Return the stream state of the object. |
private void |
setAsToNationalString(java.lang.Object theValue)
|
void |
setBigDecimal(java.lang.Number bigDecimal)
Only to be called when an application through JDBC is setting a SQLChar to a java.math.BigDecimal. |
private java.text.DateFormat |
setDateFormatCalendar(java.text.DateFormat df,
java.util.Calendar cal)
|
protected void |
setFrom(DataValueDescriptor theValue)
|
void |
setInto(java.sql.PreparedStatement ps,
int position)
Set the value into a PreparedStatement. |
protected void |
setLocaleFinder(org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
|
void |
setStream(java.io.InputStream newStream)
sets the stream state for the object. |
void |
setValue(boolean theValue)
Set the value. |
void |
setValue(byte theValue)
Set the value of this DataValueDescriptor to the given byte value |
void |
setValue(byte[] theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Date theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(double theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(float theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(java.io.InputStream theStream,
int streamLength)
Set the value to be the contents of the stream. |
void |
setValue(int theValue)
Set the value of this DataValueDescriptor to the given int value |
void |
setValue(long theValue)
Set the value of this DataValueDescriptor to the given long value |
void |
setValue(java.lang.Object theValue)
Set the value of this DataValueDescriptor to the given value |
void |
setValue(short theValue)
Set the value of this DataValueDescriptor to the given short value |
void |
setValue(java.lang.String theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Time theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Timestamp theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor from the specified ResultSet. |
DataValueDescriptor |
setWidth(int desiredWidth,
int desiredScale,
boolean errorOnTrunc)
Set the width of the to the desired value. |
protected int |
stringCollatorCompare(SQLChar str2)
Compare a localized string with this one. |
protected static int |
stringCompare(char[] op1,
int leftlen,
char[] op2,
int rightlen)
Compare two Strings using standard SQL semantics. |
protected int |
stringCompare(SQLChar char1,
SQLChar char2)
Compare two SQLChars. |
protected static int |
stringCompare(java.lang.String op1,
java.lang.String op2)
Compare two Strings using standard SQL semantics. |
ConcatableDataValue |
substring(NumberDataValue start,
NumberDataValue length,
ConcatableDataValue result,
int maxLen)
The SQL substr() function. |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
StringDataValue |
trim(int trimType,
StringDataValue result)
The SQL trim(), ltrim() and rtrim() functions. |
int |
typePrecedence()
Each built-in type in JSQL has a precedence. |
int |
typeToBigDecimal()
CHAR/VARCHAR/LONG VARCHAR implementation. |
StringDataValue |
upper(StringDataValue result)
Convert the string to upper case. |
void |
writeExternal(java.io.ObjectOutput out)
The maximum stored size is based upon the UTF format used to stored the String. |
XMLDataValue |
XMLParse(XMLDataValue result,
boolean preserveWS)
|
| Methods inherited from class org.apache.derby.iapi.types.DataType |
checkHostVariable, coalesce, dataTypeConversion, equals, flip, genericSetObject, getBytes, getNationalString, in, invalidFormat, isNotNull, isNullOp, outOfRange, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
checkHostVariable, coalesce, getBytes, in, isNotNull, isNullOp, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue |
| Field Detail |
RETURN_SPACE_THRESHOLD
protected static final int RETURN_SPACE_THRESHOLD
- threshold, that decides when we return space back to the VM
see getString() where it is used
- See Also:
- Constant Field Values
GROWBY_FOR_CHAR
private static final int GROWBY_FOR_CHAR
- when we know that the array needs to grow by at least
one byte, it is not performant to grow by just one byte
instead this amount is used to provide a reasonable growby size.
- See Also:
- Constant Field Values
BLANKS
private static final char[] BLANKS
- Static array that can be used for blank padding.
arg_passer
char[][] arg_passer
value
private java.lang.String value
rawData
private char[] rawData
rawLength
private int rawLength
cKey
private java.text.CollationKey cKey
stream
protected java.io.InputStream stream
intArray
private int[] intArray
intLength
private int intLength
localeFinder
private org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder
BASE_MEMORY_USAGE
private static final int BASE_MEMORY_USAGE
| Constructor Detail |
SQLChar
public SQLChar()
- no-arg constructor, required by Formattable.
SQLChar
public SQLChar(java.lang.String val)
| Method Detail |
appendBlanks
public static void appendBlanks(char[] ca,
int offset,
int howMany)
getBoolean
public boolean getBoolean()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a boolean.
Throws an exception if the data value is not a boolean.
For DataValueDescriptor, this is the preferred interface
for BIT, but for this no-casting interface, it isn't, because
BIT is stored internally as a Bit, not as a Boolean.
- Specified by:
getBooleanin interfaceDataValueDescriptor- Overrides:
getBooleanin classDataType
getByte
public byte getByte()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a byte.
Throws an exception if the data value is not a byte.
- Specified by:
getBytein interfaceDataValueDescriptor- Overrides:
getBytein classDataType
getShort
public short getShort()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a short.
Throws an exception if the data value is not a short.
- Specified by:
getShortin interfaceDataValueDescriptor- Overrides:
getShortin classDataType
getInt
public int getInt()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as an int.
Throws an exception if the data value is not an int.
- Specified by:
getIntin interfaceDataValueDescriptor- Overrides:
getIntin classDataType
getLong
public long getLong()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a long.
Throws an exception if the data value is not a long.
- Specified by:
getLongin interfaceDataValueDescriptor- Overrides:
getLongin classDataType
getFloat
public float getFloat()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a float.
Throws an exception if the data value is not a float.
- Specified by:
getFloatin interfaceDataValueDescriptor- Overrides:
getFloatin classDataType
getDouble
public double getDouble()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a double.
Throws an exception if the data value is not a double.
- Specified by:
getDoublein interfaceDataValueDescriptor- Overrides:
getDoublein classDataType
typeToBigDecimal
public int typeToBigDecimal()
throws org.apache.derby.iapi.error.StandardException
- CHAR/VARCHAR/LONG VARCHAR implementation. Convert to a BigDecimal using getString.
- Specified by:
typeToBigDecimalin interfaceDataValueDescriptor- Overrides:
typeToBigDecimalin classDataType
getDate
public java.sql.Date getDate(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a java.sql.Date.
Throws an exception if the data value is not a Date.
- Specified by:
getDatein interfaceDataValueDescriptor- Overrides:
getDatein classDataType
getDate
public static java.sql.Date getDate(java.util.Calendar cal, java.lang.String str, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder) throws org.apache.derby.iapi.error.StandardException
getTime
public java.sql.Time getTime(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a java.sql.Time.
Throws an exception if the data value is not a Time.
- Specified by:
getTimein interfaceDataValueDescriptor- Overrides:
getTimein classDataType
getTime
public static java.sql.Time getTime(java.util.Calendar cal, java.lang.String str, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder) throws org.apache.derby.iapi.error.StandardException
getTimestamp
public java.sql.Timestamp getTimestamp(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a java.sql.Timestamp.
Throws an exception if the data value is not a Timestamp.
- Specified by:
getTimestampin interfaceDataValueDescriptor- Overrides:
getTimestampin classDataType
getTimestamp
public static java.sql.Timestamp getTimestamp(java.util.Calendar cal, java.lang.String str, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder) throws org.apache.derby.iapi.error.StandardException
getObject
public java.lang.Object getObject() throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a Java Object.
The type of the Object will be the Java object type corresponding
to the data value's SQL type. JDBC defines a mapping between Java
object types and SQL types - we will allow that to be extended
through user type definitions. Throws an exception if the data
value is not an object (yeah, right).
- Specified by:
getObjectin interfaceDataValueDescriptor- Overrides:
getObjectin classDataType
getStream
public java.io.InputStream getStream() throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a Java InputStream.
Only data types that implements StreamStorable will have stream states.
- Specified by:
getStreamin interfaceDataValueDescriptor- Overrides:
getStreamin classDataType
getLength
public int getLength()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Gets the length of the data value. The meaning of this is
implementation-dependent. For string types, it is the number of
characters in the string. For numeric types, it is the number of
bytes used to store the number. This is the actual length
of this value, not the length of the type it was defined as.
For example, a VARCHAR value may be shorter than the declared
VARCHAR (maximum) length.
- Specified by:
getLengthin interfaceDataValueDescriptor
getTypeName
public java.lang.String getTypeName()
- Description copied from interface:
DataValueDescriptor - Get the SQL name of the datatype
- Specified by:
getTypeNamein interfaceDataValueDescriptor
getString
public java.lang.String getString() throws org.apache.derby.iapi.error.StandardException
- If possible, use getCharArray() if you don't really
need a string. getString() will cause an extra
char array to be allocated when it calls the the String()
constructor (the first time through), so may be
cheaper to use getCharArray().
- Specified by:
getStringin interfaceDataValueDescriptor
getCharArray
public char[] getCharArray()
throws org.apache.derby.iapi.error.StandardException
- Get a char array. Typically, this is a simple
getter that is cheaper than getString() because
we always need to create a char array when
doing I/O. Use this instead of getString() where
reasonable.
WARNING: may return a character array that has spare characters at the end. MUST be used in conjunction with getLength() to be safe.
- Specified by:
getCharArrayin interfaceStringDataValue
returnStream
public java.io.InputStream returnStream()
- Description copied from interface:
org.apache.derby.iapi.services.io.StreamStorable - Return the stream state of the object.
- Specified by:
returnStreamin interfaceorg.apache.derby.iapi.services.io.StreamStorable
setStream
public void setStream(java.io.InputStream newStream)
- Description copied from interface:
org.apache.derby.iapi.services.io.StreamStorable - sets the stream state for the object.
- Specified by:
setStreamin interfaceorg.apache.derby.iapi.services.io.StreamStorable
loadStream
public void loadStream()
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
org.apache.derby.iapi.services.io.StreamStorable - sets the stream state for the object.
- Specified by:
loadStreamin interfaceorg.apache.derby.iapi.services.io.StreamStorable
getTypeFormatId
public int getTypeFormatId()
- Return my format identifier.
- Specified by:
getTypeFormatIdin interfaceorg.apache.derby.iapi.services.io.TypedFormat
isNull
public boolean isNull()
- see if the String value is null.
- Specified by:
isNullin interfaceorg.apache.derby.iapi.services.io.Storable
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- The maximum stored size is based upon the UTF format
used to stored the String. The format consists of
a two byte length field and a maximum number of three
bytes for each character.
This puts an upper limit on the length of a stored String. The maximum stored length is 65535, these leads to the worse case of a maximum string length of 21844 ((65535 - 2) / 3).
Strings with stored length longer than 64K is handled with the following format: (1) 2 byte length: will be assigned 0. (2) UTF formated string data. (3) terminate the string with the following 3 bytes: first byte is: +---+---+---+---+---+---+---+---+ | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+ second byte is: +---+---+---+---+---+---+---+---+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+ third byte is: +---+---+---+---+---+---+---+---+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+ The UTF format: Writes a string to the underlying output stream using UTF-8 encoding in a machine-independent manner.First, two bytes are written to the output stream as if by the
writeShortmethod giving the number of bytes to follow. This value is the number of bytes actually written out, not the length of the string. Following the length, each character of the string is output, in sequence, using the UTF-8 encoding for the character.- Specified by:
writeExternalin interfacejava.io.Externalizable
- Since:
- JDK1.0
readExternalFromArray
public void readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in) throws java.io.IOException
- Reads in a string from the specified data input stream. The
string has been encoded using a modified UTF-8 format.
The first two bytes are read as if by
readUnsignedShort. This value gives the number of following bytes that are in the encoded string, not the length of the resulting string. The following bytes are then interpreted as bytes encoding characters in the UTF-8 format and are converted into characters.This method blocks until all the bytes are read, the end of the stream is detected, or an exception is thrown.
- Specified by:
readExternalFromArrayin interfaceDataValueDescriptor
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Description copied from interface:
java.io.Externalizable - This method restores an object's state by reading in the instance data
for the object from the passed in stream. Note that this stream is not
a subclass of
InputStream, but rather is a class that implements theObjectInputinterface. That interface provides a mechanism for reading in Java data types from a stream.Note that this method must be compatible with
writeExternal. It must read back the exact same types that were written by that method in the exact order they were written.If this method needs to read back an object instance, then the class for that object must be found and loaded. If that operation fails, then this method throws a
ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable
growBy
protected int growBy()
- returns the reasonable minimum amount by
which the array can grow . See readExternal.
when we know that the array needs to grow by at least
one byte, it is not performant to grow by just one byte
instead this amount is used to provide a resonable growby size.
restoreToNull
public void restoreToNull()
- Description copied from interface:
org.apache.derby.iapi.services.io.Storable - Restore this object to its (SQL)null value.
- Specified by:
restoreToNullin interfaceorg.apache.derby.iapi.services.io.Storable
compare
public boolean compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
qualification and sorting. The caller gets to determine how nulls
should be treated - they can either be ordered values or unknown
values.
- Specified by:
comparein interfaceDataValueDescriptor- Overrides:
comparein classDataType
compare
public int compare(DataValueDescriptor other) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
index positioning. This method treats nulls as ordered values -
that is, it treats SQL null as equal to null and less than all
other values.
- Specified by:
comparein interfaceDataValueDescriptor
cloneObject
public java.lang.Object cloneObject()
- From CloneableObject
Shallow clone a StreamStorable without objectifying. This is used to avoid
unnecessary objectifying of a stream object. The only difference of this method
from getClone is this method does not objectify a stream. beetle 4896
- Specified by:
cloneObjectin interfaceCloneableObject- Overrides:
cloneObjectin classDataType
getClone
public DataValueDescriptor getClone()
- Description copied from interface:
DataValueDescriptor - Clone this DataValueDescriptor. Results in a new object
that has the same value as this but can be modified independently.
- Specified by:
getClonein interfaceDataValueDescriptor
getNewNull
public DataValueDescriptor getNewNull()
- Description copied from interface:
DataValueDescriptor - Get a new null value of the same type as this data value.
- Specified by:
getNewNullin interfaceDataValueDescriptor
setValueFromResultSet
public final void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws java.sql.SQLException
- Description copied from interface:
DataValueDescriptor - Set the value based on the value for the specified DataValueDescriptor
from the specified ResultSet.
- Specified by:
setValueFromResultSetin interfaceDataValueDescriptor
setInto
public final void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException, org.apache.derby.iapi.error.StandardException
- Set the value into a PreparedStatement.
- Specified by:
setIntoin interfaceDataValueDescriptor- Overrides:
setIntoin classDataType
setValue
public void setValue(java.lang.String theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(boolean theValue)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(int theValue)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given int value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(double theValue)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given double value
- Specified by:
setValuein interface
JAVADOC