org.apache.derby.iapi.types
Interface StringDataValue

All Superinterfaces:
ConcatableDataValue, DataValueDescriptor, java.io.Externalizable, Formatable, Orderable, java.io.Serializable, Storable, TypedFormat, VariableSizeDataValue
All Known Implementing Classes:
CollatorSQLChar, CollatorSQLClob, CollatorSQLLongvarchar, CollatorSQLVarchar, SQLChar, SQLClob, SQLLongvarchar, SQLVarchar

public interface StringDataValue
extends ConcatableDataValue


Field Summary
static int BOTH
           
static int COLLATION_DERIVATION_EXPLICIT
           
static int COLLATION_DERIVATION_IMPLICIT
           
static int COLLATION_DERIVATION_NONE
          For a character string type, the collation derivation should always be "explicit"(not possible in Derby 10.3), "implicit" or "none".
static int COLLATION_TYPE_TERRITORY_BASED
           
static int COLLATION_TYPE_UCS_BASIC
          In Derby 10.3, it is possible to have database with one of the following two configurations 1)all the character columns will have a collation type of UCS_BASIC.
static int LEADING
           
static int 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
 
Method Summary
 StringDataValue ansiTrim(int trimType, StringDataValue trimChar, StringDataValue result)
          The SQL Ansi trim function.
 StringDataValue concatenate(StringDataValue leftOperand, StringDataValue rightOperand, StringDataValue result)
          The SQL concatenation '||' operator.
 char[] getCharArray()
          Get a char array.
 StringDataValue getValue(java.text.RuleBasedCollator collatorForComparison)
          Gets either SQLChar/SQLVarchar/SQLLongvarchar/SQLClob(base classes) or CollatorSQLChar/CollatorSQLVarchar/CollatorSQLLongvarch/CollatorSQLClob (subclasses).
 BooleanDataValue like(DataValueDescriptor pattern)
          The SQL like() function with out escape clause.
 BooleanDataValue like(DataValueDescriptor pattern, DataValueDescriptor escape)
          The SQL like() function WITH escape clause.
 NumberDataValue locate(StringDataValue searchFrom, NumberDataValue start, NumberDataValue result)
          Position in searchFrom of the first occurrence of this.value.
 StringDataValue lower(StringDataValue result)
          Convert the string to lower case.
 StringDataValue upper(StringDataValue result)
          Convert the string to upper case.
 
Methods inherited from interface org.apache.derby.iapi.types.ConcatableDataValue
charLength, substring
 
Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
checkHostVariable, coalesce, compare, compare, compare, compare, equals, estimateMemoryUsage, getBoolean, getByte, getBytes, getClone, getDate, getDouble, getFloat, getInt, getLength, getLong, getNewNull, getObject, getShort, getStream, getString, getTime, getTimestamp, getTraceString, getTypeName, greaterOrEquals, greaterThan, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, readExternalFromArray, recycle, setBigDecimal, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromResultSet, typePrecedence, typeToBigDecimal
 
Methods inherited from interface org.apache.derby.iapi.services.io.Storable
isNull, restoreToNull
 
Methods inherited from interface java.io.Externalizable
readExternal, writeExternal
 
Methods inherited from interface org.apache.derby.iapi.services.io.TypedFormat
getTypeFormatId
 
Methods inherited from interface org.apache.derby.iapi.types.VariableSizeDataValue
setWidth
 

Field Detail

BOTH

static final int BOTH
See Also:
Constant Field Values

TRAILING

static final int TRAILING
See Also:
Constant Field Values

LEADING

static final int LEADING
See Also:
Constant Field Values

COLLATION_DERIVATION_NONE

static final int COLLATION_DERIVATION_NONE
For a character string type, the collation derivation should always be "explicit"(not possible in Derby 10.3), "implicit" or "none". We will start by setting it to "implicit" in TypeDescriptorImpl. At runtime, only character string types which are results of aggregate methods dealing with operands with different collation types should have a collation derivation of "none". All the other character string types should have their collation derivation set to "implicit".

See Also:
Constant Field Values

COLLATION_DERIVATION_IMPLICIT

static final int COLLATION_DERIVATION_IMPLICIT
See Also:
COLLATION_DERIVATION_NONE, Constant Field Values

COLLATION_DERIVATION_EXPLICIT

static final int COLLATION_DERIVATION_EXPLICIT
See Also:
COLLATION_DERIVATION_NONE, Constant Field Values

COLLATION_TYPE_UCS_BASIC

static final int COLLATION_TYPE_UCS_BASIC
In Derby 10.3, it is possible to have database with one of the following two configurations 1)all the character columns will have a collation type of UCS_BASIC. This is same as what we do in Derby 10.2 release. 2)all the character string columns belonging to system tables will have collation type of UCS_BASIC but all the character string columns belonging to user tables will have collation type of TERRITORY_BASED. Data types will start with collation type defaulting to UCS_BASIC in TypeDescriptorImpl. This collation type ofcourse makes sense fpr character string types only. It will be ignored for the rest of the types. If a character's collation type should be TERRITORY_BASED, then DTD.setCollationType can be called to change the default of UCS_BASIC.

See Also:
Constant Field Values

COLLATION_TYPE_TERRITORY_BASED

static final int COLLATION_TYPE_TERRITORY_BASED
See Also:
COLLATION_TYPE_UCS_BASIC, Constant Field Values
Method Detail

concatenate

StringDataValue concatenate(StringDataValue leftOperand,
                            StringDataValue rightOperand,
                            StringDataValue result)
                            throws StandardException
The SQL concatenation '||' operator.

Parameters:
leftOperand - String on the left hand side of '||'
rightOperand - String on the right hand side of '||'
result - The result of a previous call to this method, null if not called yet.
Returns:
A ConcatableDataValue containing the result of the '||'
Throws:
StandardException - Thrown on error

like

BooleanDataValue like(DataValueDescriptor pattern)
                      throws StandardException
The SQL like() function with out escape clause.

Parameters:
pattern - the pattern to use
Returns:
A BooleanDataValue containing the result of the like
Throws:
StandardException - Thrown on error

like

BooleanDataValue like(DataValueDescriptor pattern,
                      DataValueDescriptor escape)
                      throws StandardException
The SQL like() function WITH escape clause.

Parameters:
pattern - the pattern to use
escape - the escape character
Returns:
A BooleanDataValue containing the result of the like
Throws:
StandardException - Thrown on error

ansiTrim

StringDataValue ansiTrim(int trimType,
                         StringDataValue trimChar,
                         StringDataValue result)
                         throws StandardException
The SQL Ansi trim function.

Parameters:
trimType - type of trim. Possible values are LEADING, TRAILING or BOTH.
trimChar - The character to trim from this
result - The result of a previous call to this method, null if not called yet.
Returns:
A StringDataValue containing the result of the trim().
Throws:
StandardException

upper

StringDataValue upper(StringDataValue result)
                      throws StandardException
Convert the string to upper case.

Parameters:
result - The result (reusable - allocate if null).
Returns:
The string converted to upper case.
Throws:
StandardException - Thrown on error

lower

StringDataValue lower(StringDataValue result)
                      throws StandardException
Convert the string to lower case.

Parameters:
result - The result (reusable - allocate if null).
Returns:
The string converted to lower case.
Throws:
StandardException - Thrown on error

locate

NumberDataValue locate(StringDataValue searchFrom,
                       NumberDataValue start,
                       NumberDataValue result)
                       throws StandardException
Position in searchFrom of the first occurrence of this.value. The search begins from position start. 0 is returned if searchFrom does not contain this.value. Position 1 is the first character in searchFrom.

Parameters:
searchFrom - - The string to search from
start - - The position to search from in string searchFrom
result - - The object to return
Returns:
The position in searchFrom the fist occurrence of this.value. 0 is returned if searchFrom does not contain this.value.
Throws:
StandardException - Thrown on error

getCharArray

char[] getCharArray()
                    throws 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.

Throws:
StandardException - Thrown on error

getValue

StringDataValue getValue(java.text.RuleBasedCollator collatorForComparison)
Gets either SQLChar/SQLVarchar/SQLLongvarchar/SQLClob(base classes) or CollatorSQLChar/CollatorSQLVarchar/CollatorSQLLongvarch/CollatorSQLClob (subclasses). Whether this method returns the base class or the subclass depends on the value of the RuleBasedCollator. If RuleBasedCollator is null, then the object returned would be baseclass otherwise it would be subcalss.


Built on Thu 2008-08-14 18:45:39-0700, from revision 686102

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