Class DataValueFactoryImpl
- java.lang.Object
-
- org.apache.derby.iapi.types.DataValueFactoryImpl
-
- All Implemented Interfaces:
ModuleControl,DataValueFactory
public final class DataValueFactoryImpl extends java.lang.Object implements DataValueFactory, ModuleControl
Core implementation of DataValueFactory.- See Also:
DataValueFactory
-
-
Field Summary
Fields Modifier and Type Field Description private java.text.RuleBasedCollatorcollatorForCharacterTypesprivate java.util.LocaledatabaseLocaleprivate LocaleFinderlocaleFinder
-
Constructor Summary
Constructors Constructor Description DataValueFactoryImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidboot(boolean create, java.util.Properties properties)Boot this module with the given properties.BitDataValuegetBitDataValue(byte[] value)Get a SQL bit with the given value.BitDataValuegetBitDataValue(byte[] value, BitDataValue previous)BitDataValuegetBlobDataValue(byte[] value, BitDataValue previous)Get a SQL Blob with the given value.BitDataValuegetBlobDataValue(java.sql.Blob value, BitDataValue previous)Get a SQL Blob with the given value.java.text.RuleBasedCollatorgetCharacterCollator(int collationType)Return the RuleBasedCollator depending on the collation type.StringDataValuegetCharDataValue(java.lang.String value)Get a new SQLChar object to represent a SQL CHAR (UCS_BASIC) with the given value.StringDataValuegetCharDataValue(java.lang.String value, StringDataValue previous)Get a SQLChar object to represent a SQL CHAR (UCS_BASIC with the given value.StringDataValuegetCharDataValue(java.lang.String value, StringDataValue previous, int collationType)Return a StringDataValue to represent a SQL CHAR with the given collation re-using previous if not null.StringDataValuegetClobDataValue(java.lang.String value, StringDataValue previous)Get a SQLClob object to represent a SQL CLOB (UCS_BASIC) with the given value.StringDataValuegetClobDataValue(java.lang.String value, StringDataValue previous, int collationType)Return a StringDataValue to represent a SQL CLOB with the given collation re-using previous if not null.StringDataValuegetClobDataValue(java.sql.Clob value, StringDataValue previous)Get a SQLClob object to represent a SQL CLOB (UCS_BASIC) with the given value.StringDataValuegetClobDataValue(java.sql.Clob value, StringDataValue previous, int collationType)Get a StringDataValue to represent a SQL CLOB with the passed in collationType.(package private) static ContextgetContext(java.lang.String contextID)Privileged lookup of a Context.BooleanDataValuegetDataValue(boolean value, BooleanDataValue previous)Get a SQL boolean with the given value.NumberDataValuegetDataValue(byte value, NumberDataValue previous)Get a SQL TINYINT with the given value.NumberDataValuegetDataValue(char value, NumberDataValue previous)Get a SQL int with a char value.NumberDataValuegetDataValue(double value, NumberDataValue previous)Get a SQL double precision with the given value.NumberDataValuegetDataValue(float value, NumberDataValue previous)Get a SQL real with the given value.NumberDataValuegetDataValue(int value, NumberDataValue previous)Get a SQL int with the given value.NumberDataValuegetDataValue(long value, NumberDataValue previous)Get a SQL bigint with the given value.NumberDataValuegetDataValue(short value, NumberDataValue previous)Get a SQL SMALLINT with the given value.BooleanDataValuegetDataValue(java.lang.Boolean value, BooleanDataValue previous)Get a SQL boolean with the given value.NumberDataValuegetDataValue(java.lang.Byte value, NumberDataValue previous)Get a SQL TINYINT with the given value.NumberDataValuegetDataValue(java.lang.Double value, NumberDataValue previous)Get a SQL double precision with the given value.NumberDataValuegetDataValue(java.lang.Float value, NumberDataValue previous)Get a SQL real with the given value.NumberDataValuegetDataValue(java.lang.Integer value, NumberDataValue previous)Get a SQL int with the given value.NumberDataValuegetDataValue(java.lang.Long value, NumberDataValue previous)Get a SQL bigint with the given value.UserDataValuegetDataValue(java.lang.Object value, UserDataValue previous)Get a User-defined data value with the given value and type name.NumberDataValuegetDataValue(java.lang.Short value, NumberDataValue previous)Get a SQL smallint with the given value.DateTimeDataValuegetDataValue(java.sql.Date value, DateTimeDataValue previous)Get a SQL date with the given value.DateTimeDataValuegetDataValue(java.sql.Time value, DateTimeDataValue previous)Get a SQL time with the given value.DateTimeDataValuegetDataValue(java.sql.Timestamp value, DateTimeDataValue previous)Get a SQL timestamp with the given value.RefDataValuegetDataValue(RowLocation value, RefDataValue previous)Get a RefDataValue with the given value.DateTimeDataValuegetDate(DataValueDescriptor operand)Implement the date SQL function: construct a SQL date from a string, number, or timestamp.DateTimeDataValuegetDateValue(java.lang.String dateStr, boolean isJdbcEscape)NumberDataValuegetDecimalDataValue(java.lang.Number value, NumberDataValue previous)Get a SQL DECIMAL with the given value.private LocaleFindergetLocaleFinder()BitDataValuegetLongVarbitDataValue(byte[] value, BitDataValue previous)Get a SQL Long Bit Varying with the given value.StringDataValuegetLongvarcharDataValue(java.lang.String value)Get a SQL long varchar with the given value.StringDataValuegetLongvarcharDataValue(java.lang.String value, StringDataValue previous)Get a SQLLongvarchar object to represent a SQL LONG VARCHAR (UCS_BASIC) with the given value.StringDataValuegetLongvarcharDataValue(java.lang.String value, StringDataValue previous, int collationType)Return a StringDataValue to represent a SQL LONG VARCHAR with the given collation re-using previous if not null.private static ModuleFactorygetMonitor()Privileged Monitor lookup.DataValueDescriptorgetNull(int formatId, int collationType)Return an object based on the format id and collation type.BitDataValuegetNullBit(BitDataValue dataValue)Get a SQL Bit with a SQL null value.BitDataValuegetNullBlob(BitDataValue dataValue)Get a SQL Blob with a SQL null value.BooleanDataValuegetNullBoolean(BooleanDataValue dataValue)Get a SQL boolean with a SQL null value.NumberDataValuegetNullByte(NumberDataValue dataValue)Get a SQL tinyint with a SQL null value.StringDataValuegetNullChar(StringDataValue dataValue)Get a SQL CHAR (UCS_BASIC) with a SQL null value.StringDataValuegetNullChar(StringDataValue previous, int collationType)Get a SQL CHAR set to NULL with collation set to collationType.StringDataValuegetNullClob(StringDataValue dataValue)Get a SQL CLOB (UCS_BASIC) with a SQL null value.StringDataValuegetNullClob(StringDataValue previous, int collationType)Get a SQL CLOB set to NULL with collation set to collationType.DateTimeDataValuegetNullDate(DateTimeDataValue dataValue)Get a SQL date with a SQL null value.NumberDataValuegetNullDecimal(NumberDataValue dataValue)Get a SQL Decimal/Numeric with a SQL null value.NumberDataValuegetNullDouble(NumberDataValue dataValue)Get a SQL double with a SQL null value.static DataValueDescriptorgetNullDVDWithUCS_BASICcollation(int formatId)This method will return a DVD based on the formatId.NumberDataValuegetNullFloat(NumberDataValue dataValue)Get a SQL float with a SQL null value.NumberDataValuegetNullInteger(NumberDataValue dataValue)Get a SQL int with a SQL null value.NumberDataValuegetNullLong(NumberDataValue dataValue)Get a SQL bigint with a SQL null value.BitDataValuegetNullLongVarbit(BitDataValue dataValue)Get a SQL Long Bit Varying with a SQL null value.StringDataValuegetNullLongvarchar(StringDataValue dataValue)Get a SQL LONG VARCHAR (UCS_BASIC) with a SQL null value.StringDataValuegetNullLongvarchar(StringDataValue previous, int collationType)Get a SQL LONG VARCHAR set to NULL with collation set to collationType.UserDataValuegetNullObject(UserDataValue dataValue)Get a User-defined data value with a SQL null value.RefDataValuegetNullRef(RefDataValue dataValue)Get a RefDataValue with a SQL null value.NumberDataValuegetNullShort(NumberDataValue dataValue)Get a SQL smallint with a SQL null value.DateTimeDataValuegetNullTime(DateTimeDataValue dataValue)Get a SQL time with a SQL null value.DateTimeDataValuegetNullTimestamp(DateTimeDataValue dataValue)Get a SQL timestamp with a SQL null value.BitDataValuegetNullVarbit(BitDataValue dataValue)Get a SQL Bit Varying with a SQL null value.StringDataValuegetNullVarchar(StringDataValue dataValue)Get a SQL VARCHAR (UCS_BASIC) with a SQL null value.StringDataValuegetNullVarchar(StringDataValue previous, int collationType)Get a SQL VARCHAR set to NULL with collation set to collationType.XMLDataValuegetNullXML(XMLDataValue dataValue)getNullXML: Get an XML with a SQL null value.DateTimeDataValuegetTimestamp(DataValueDescriptor operand)Implement the timestamp SQL function: construct a SQL timestamp from a string, or timestamp.DateTimeDataValuegetTimestamp(DataValueDescriptor date, DataValueDescriptor time)Construct a SQL timestamp from a date and time.DateTimeDataValuegetTimestampValue(java.lang.String timestampStr, boolean isJdbcEscape)DateTimeDataValuegetTimeValue(java.lang.String timeStr, boolean isJdbcEscape)BitDataValuegetVarbitDataValue(byte[] value, BitDataValue previous)Get a SQL bit with the given value.StringDataValuegetVarcharDataValue(java.lang.String value)Get a SQL varchar with the given value.StringDataValuegetVarcharDataValue(java.lang.String value, StringDataValue previous)Get a SQLVarhar object to represent a SQL VARCHAR (UCS_BASIC) with the given value.StringDataValuegetVarcharDataValue(java.lang.String value, StringDataValue previous, int collationType)Return a StringDataValue to represent a SQL VARCHAR with the given collation re-using previous if not null.XMLDataValuegetXMLDataValue(XMLDataValue previous)getXMLDataValue: Get a null XML value.voidstop()Stop the module.private java.text.RuleBasedCollatorverifyCollatorSupport(int strength)Verify that JVM has support for the Collator for the database's locale.
-
-
-
Field Detail
-
localeFinder
private LocaleFinder localeFinder
-
databaseLocale
private java.util.Locale databaseLocale
-
collatorForCharacterTypes
private java.text.RuleBasedCollator collatorForCharacterTypes
-
-
Method Detail
-
boot
public void boot(boolean create, java.util.Properties properties) throws StandardExceptionDescription copied from interface:ModuleControlBoot this module with the given properties. Creates a module instance that can be found using the findModule() methods of Monitor. The module can only be found using one of these findModule() methods once this method has returned.An implementation's boot method can throw StandardException. If it is thrown the module is not registered by the monitor and therefore cannot be found through a findModule(). In this case the module's stop() method is not called, thus throwing this exception must free up any resources.
When create is true the contents of the properties object will be written to the service.properties of the persistent service. Thus any code that requires an entry in service.properties must explicitly place the value in this properties set using the put method.
Typically the properties object contains one or more default properties sets, which are not written out to service.properties. These default sets are how callers modify the create process. In a JDBC connection database create the first set of defaults is a properties object that contains the attributes that were set on the jdbc:derby: URL. This attributes properties set has the second default properties set as its default. This set (which could be null) contains the properties that the user set on their DriverManager.getConnection() call, and are thus not owned by Derby code, and thus must not be modified by Derby code.When create is false the properties object contains all the properties set in the service.properties file plus a limited number of attributes from the JDBC URL attributes or connection properties set. This avoids properties set by the user compromising the boot process. An example of a property passed in from the JDBC world is the bootPassword for encrypted databases.
Code should not hold onto the passed in properties reference after boot time as its contents may change underneath it. At least after the complete boot is completed, the links to all the default sets will be removed.
- Specified by:
bootin interfaceModuleControl- Throws:
StandardException- Module cannot be started.- See Also:
Monitor,ModuleFactory
-
stop
public void stop()
Description copied from interface:ModuleControlStop the module. The module may be found via a findModule() method until some time after this method returns. Therefore the factory must be prepared to reject requests to it once it has been stopped. In addition other modules may cache a reference to the module and make requests of it after it has been stopped, these requests should be rejected as well.- Specified by:
stopin interfaceModuleControl- See Also:
Monitor,ModuleFactory
-
getDataValue
public NumberDataValue getDataValue(int value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL int with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException- See Also:
DataValueFactory.getDataValue(java.lang.Integer, org.apache.derby.iapi.types.NumberDataValue)
-
getDataValue
public NumberDataValue getDataValue(java.lang.Integer value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL int with the given value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(char value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL int with a char value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(short value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL SMALLINT with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(java.lang.Short value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL smallint with the given value. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(byte value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL TINYINT with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(java.lang.Byte value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL TINYINT with the given value. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(long value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL bigint with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(java.lang.Long value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL bigint with the given value. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(float value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL real with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getDataValue
public NumberDataValue getDataValue(java.lang.Float value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL real with the given value. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public NumberDataValue getDataValue(double value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL double precision with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getDataValue
public NumberDataValue getDataValue(java.lang.Double value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL double precision with the given value. A null argument means a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getDecimalDataValue
public final NumberDataValue getDecimalDataValue(java.lang.Number value, NumberDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL DECIMAL with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getDecimalDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getDataValue
public BooleanDataValue getDataValue(boolean value, BooleanDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL boolean with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public BooleanDataValue getDataValue(java.lang.Boolean value, BooleanDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL boolean with the given value. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getBitDataValue
public BitDataValue getBitDataValue(byte[] value) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL bit with the given value. The second form re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getBitDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getBitDataValue
public BitDataValue getBitDataValue(byte[] value, BitDataValue previous) throws StandardException
- Specified by:
getBitDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getVarbitDataValue
public BitDataValue getVarbitDataValue(byte[] value, BitDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL bit with the given value. Uses the previous value, if non-null, as the data holder to return.- Specified by:
getVarbitDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getLongVarbitDataValue
public BitDataValue getLongVarbitDataValue(byte[] value, BitDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Long Bit Varying with the given value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getLongVarbitDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getBlobDataValue
public BitDataValue getBlobDataValue(byte[] value, BitDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Blob with the given value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getBlobDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getBlobDataValue
public BitDataValue getBlobDataValue(java.sql.Blob value, BitDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Blob with the given value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getBlobDataValuein interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getCharDataValue
public StringDataValue getCharDataValue(java.lang.String value)
Description copied from interface:DataValueFactoryGet a new SQLChar object to represent a SQL CHAR (UCS_BASIC) with the given value. A null argument means get a SQL NULL value.- Specified by:
getCharDataValuein interfaceDataValueFactory
-
getCharDataValue
public StringDataValue getCharDataValue(java.lang.String value, StringDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQLChar object to represent a SQL CHAR (UCS_BASIC with the given value. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new SQLChar will be created and set to the value.- Specified by:
getCharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getCharDataValue
public StringDataValue getCharDataValue(java.lang.String value, StringDataValue previous, int collationType) throws StandardException
Return a StringDataValue to represent a SQL CHAR with the given collation re-using previous if not null.- Specified by:
getCharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getVarcharDataValue
public StringDataValue getVarcharDataValue(java.lang.String value)
Description copied from interface:DataValueFactoryGet a SQL varchar with the given value. A null argument means get a SQL null value.- Specified by:
getVarcharDataValuein interfaceDataValueFactory
-
getVarcharDataValue
public StringDataValue getVarcharDataValue(java.lang.String value, StringDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQLVarhar object to represent a SQL VARCHAR (UCS_BASIC) with the given value. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new SQLVarchar will be created and set to the value.- Specified by:
getVarcharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getVarcharDataValue
public StringDataValue getVarcharDataValue(java.lang.String value, StringDataValue previous, int collationType) throws StandardException
Return a StringDataValue to represent a SQL VARCHAR with the given collation re-using previous if not null.- Specified by:
getVarcharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getLongvarcharDataValue
public StringDataValue getLongvarcharDataValue(java.lang.String value)
Description copied from interface:DataValueFactoryGet a SQL long varchar with the given value. A null argument means get a SQL null value.- Specified by:
getLongvarcharDataValuein interfaceDataValueFactory
-
getLongvarcharDataValue
public StringDataValue getLongvarcharDataValue(java.lang.String value, StringDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQLLongvarchar object to represent a SQL LONG VARCHAR (UCS_BASIC) with the given value. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new SQLLongvarchar will be created and set to the value.- Specified by:
getLongvarcharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getLongvarcharDataValue
public StringDataValue getLongvarcharDataValue(java.lang.String value, StringDataValue previous, int collationType) throws StandardException
Return a StringDataValue to represent a SQL LONG VARCHAR with the given collation re-using previous if not null.- Specified by:
getLongvarcharDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getClobDataValue
public StringDataValue getClobDataValue(java.lang.String value, StringDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQLClob object to represent a SQL CLOB (UCS_BASIC) with the given value. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new SQLLongvarchar will be created and set to the value.- Specified by:
getClobDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getClobDataValue
public StringDataValue getClobDataValue(java.sql.Clob value, StringDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQLClob object to represent a SQL CLOB (UCS_BASIC) with the given value. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new SQLLongvarchar will be created and set to the value.- Specified by:
getClobDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getClobDataValue
public StringDataValue getClobDataValue(java.sql.Clob value, StringDataValue previous, int collationType) throws StandardException
Description copied from interface:DataValueFactoryGet a StringDataValue to represent a SQL CLOB with the passed in collationType. A null argument means get a SQL NULL value. If previous is not null (Java reference) then it will be set to the value passed in and returned, otherwise a new StringDataValue will be created and set to the value. If collationType is equal to StringDataValue.COLLATION_TYPE_UCS_BASIC then the call is the equivalent of the overload without collationType.- Specified by:
getClobDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getClobDataValue
public StringDataValue getClobDataValue(java.lang.String value, StringDataValue previous, int collationType) throws StandardException
Return a StringDataValue to represent a SQL CLOB with the given collation re-using previous if not null.- Specified by:
getClobDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public DateTimeDataValue getDataValue(java.sql.Date value, DateTimeDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL date with the given value. A null argument means get a SQL null value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public DateTimeDataValue getDataValue(java.sql.Time value, DateTimeDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL time with the given value. A null argument means get a SQL null value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDataValue
public DateTimeDataValue getDataValue(java.sql.Timestamp value, DateTimeDataValue previous) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL timestamp with the given value. A null argument means get a SQL null value. The second arg re-uses the previous value, if non-null, as the data holder to return.- Specified by:
getDataValuein interfaceDataValueFactory- Throws:
StandardException
-
getDate
public DateTimeDataValue getDate(DataValueDescriptor operand) throws StandardException
Implement the date SQL function: construct a SQL date from a string, number, or timestamp.- Specified by:
getDatein interfaceDataValueFactory- Parameters:
operand- Must be a date, a number, or a string convertible to a date.- Returns:
- the corresponding date value
- Throws:
StandardException- standard error policy
-
getTimestamp
public DateTimeDataValue getTimestamp(DataValueDescriptor operand) throws StandardException
Implement the timestamp SQL function: construct a SQL timestamp from a string, or timestamp.- Specified by:
getTimestampin interfaceDataValueFactory- Parameters:
operand- Must be a timestamp or a string convertible to a timestamp.- Throws:
StandardException- standard error policy
-
getTimestamp
public DateTimeDataValue getTimestamp(DataValueDescriptor date, DataValueDescriptor time) throws StandardException
Description copied from interface:DataValueFactoryConstruct a SQL timestamp from a date and time.- Specified by:
getTimestampin interfaceDataValueFactory- Parameters:
date- Must be convertible to a date.time- Must be convertible to a time.- Throws:
StandardException
-
getDataValue
public UserDataValue getDataValue(java.lang.Object value, UserDataValue previous)
Description copied from interface:DataValueFactoryGet a User-defined data value with the given value and type name. A null argument means get a SQL null value. The second arg uses the previous value (if non-null) hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory
-
getDataValue
public RefDataValue getDataValue(RowLocation value, RefDataValue previous)
Description copied from interface:DataValueFactoryGet a RefDataValue with the given value. A null argument means get a SQL null value. Uses the previous value (if non-null) to hold the return value.- Specified by:
getDataValuein interfaceDataValueFactory
-
getNullInteger
public NumberDataValue getNullInteger(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL int with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullIntegerin interfaceDataValueFactory
-
getNullShort
public NumberDataValue getNullShort(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL smallint with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullShortin interfaceDataValueFactory
-
getNullLong
public NumberDataValue getNullLong(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL bigint with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullLongin interfaceDataValueFactory
-
getNullByte
public NumberDataValue getNullByte(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL tinyint with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullBytein interfaceDataValueFactory
-
getNullFloat
public NumberDataValue getNullFloat(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL float with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullFloatin interfaceDataValueFactory
-
getNullDouble
public NumberDataValue getNullDouble(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL double with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullDoublein interfaceDataValueFactory
-
getNullDecimal
public final NumberDataValue getNullDecimal(NumberDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL Decimal/Numeric with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullDecimalin interfaceDataValueFactory
-
getNullBoolean
public BooleanDataValue getNullBoolean(BooleanDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL boolean with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullBooleanin interfaceDataValueFactory
-
getNullBit
public BitDataValue getNullBit(BitDataValue dataValue) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Bit with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullBitin interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getNullVarbit
public BitDataValue getNullVarbit(BitDataValue dataValue) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Bit Varying with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullVarbitin interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getNullLongVarbit
public BitDataValue getNullLongVarbit(BitDataValue dataValue) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Long Bit Varying with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullLongVarbitin interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getNullBlob
public BitDataValue getNullBlob(BitDataValue dataValue) throws StandardException
Description copied from interface:DataValueFactoryGet a SQL Blob with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullBlobin interfaceDataValueFactory- Throws:
StandardException- Thrown on error
-
getNullChar
public StringDataValue getNullChar(StringDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL CHAR (UCS_BASIC) with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullCharin interfaceDataValueFactory
-
getNullChar
public StringDataValue getNullChar(StringDataValue previous, int collationType) throws StandardException
Get a SQL CHAR set to NULL with collation set to collationType. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullCharin interfaceDataValueFactory- Throws:
StandardException
-
getNullVarchar
public StringDataValue getNullVarchar(StringDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL VARCHAR (UCS_BASIC) with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullVarcharin interfaceDataValueFactory
-
getNullVarchar
public StringDataValue getNullVarchar(StringDataValue previous, int collationType) throws StandardException
Get a SQL VARCHAR set to NULL with collation set to collationType. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullVarcharin interfaceDataValueFactory- Throws:
StandardException
-
getNullLongvarchar
public StringDataValue getNullLongvarchar(StringDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL LONG VARCHAR (UCS_BASIC) with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullLongvarcharin interfaceDataValueFactory
-
getNullLongvarchar
public StringDataValue getNullLongvarchar(StringDataValue previous, int collationType) throws StandardException
Get a SQL LONG VARCHAR set to NULL with collation set to collationType. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullLongvarcharin interfaceDataValueFactory- Throws:
StandardException
-
getNullClob
public StringDataValue getNullClob(StringDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL CLOB (UCS_BASIC) with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullClobin interfaceDataValueFactory
-
getNullClob
public StringDataValue getNullClob(StringDataValue previous, int collationType) throws StandardException
Get a SQL CLOB set to NULL with collation set to collationType. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullClobin interfaceDataValueFactory- Throws:
StandardException
-
getNullObject
public UserDataValue getNullObject(UserDataValue dataValue)
Description copied from interface:DataValueFactoryGet a User-defined data value with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullObjectin interfaceDataValueFactory
-
getNullRef
public RefDataValue getNullRef(RefDataValue dataValue)
Description copied from interface:DataValueFactoryGet a RefDataValue with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullRefin interfaceDataValueFactory
-
getNullDate
public DateTimeDataValue getNullDate(DateTimeDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL date with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullDatein interfaceDataValueFactory
-
getNullTime
public DateTimeDataValue getNullTime(DateTimeDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL time with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullTimein interfaceDataValueFactory
-
getNullTimestamp
public DateTimeDataValue getNullTimestamp(DateTimeDataValue dataValue)
Description copied from interface:DataValueFactoryGet a SQL timestamp with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullTimestampin interfaceDataValueFactory
-
getDateValue
public DateTimeDataValue getDateValue(java.lang.String dateStr, boolean isJdbcEscape) throws StandardException
- Specified by:
getDateValuein interfaceDataValueFactory- Parameters:
dateStr- A date in one of the DB2 standard date formats or the local format.isJdbcEscape- If true then the timestamp must be in the JDBC timestamp escape format, otherwise it must be in the DB2 timestamp format.- Returns:
- A DateTimeDataValue
- Throws:
StandardException- if the syntax is invalid or the date is out of range.
-
getTimeValue
public DateTimeDataValue getTimeValue(java.lang.String timeStr, boolean isJdbcEscape) throws StandardException
- Specified by:
getTimeValuein interfaceDataValueFactory- Parameters:
timeStr- A date in one of the DB2 standard time formats or the local format.isJdbcEscape- If true then the timestamp must be in the JDBC time escape format, otherwise it must be in the DB2 time format.- Returns:
- A DateTimeDataValue
- Throws:
StandardException- if the syntax is invalid or the time is out of range.
-
getTimestampValue
public DateTimeDataValue getTimestampValue(java.lang.String timestampStr, boolean isJdbcEscape) throws StandardException
- Specified by:
getTimestampValuein interfaceDataValueFactory- Parameters:
timestampStr- A time in string format.isJdbcEscape- If true then the time must be in the JDBC time escape format, otherwise it must be in the DB2 time format.- Returns:
- An internal timestamp
- Throws:
StandardException- if the syntax is invalid or the timestamp is out of range.
-
getXMLDataValue
public XMLDataValue getXMLDataValue(XMLDataValue previous) throws StandardException
getXMLDataValue: Get a null XML value. If a non-null XMLDataValue is received then re-use that instance, otherwise create a new one.- Specified by:
getXMLDataValuein interfaceDataValueFactory- Parameters:
previous- An XMLDataValue instance to re-use.- Returns:
- An XMLDataValue instance corresponding to a NULL value. If an XMLDataValue was received, the returned XMLDataValue is the same instance as the one received, but the actual data has been set to a SQL null value.
- Throws:
StandardException- Thrown on error
-
getNullXML
public XMLDataValue getNullXML(XMLDataValue dataValue)
getNullXML: Get an XML with a SQL null value. If the supplied value is null then get a new value, otherwise set it to null and return that value.- Specified by:
getNullXMLin interfaceDataValueFactory- Parameters:
dataValue- An XMLDataValue instance to re-use.- Returns:
- An XMLDataValue instance corresponding to a NULL value. If an XMLDataValue was received, the returned XMLDataValue is the same instance as the one received, but the actual data has been set to null.
-
getCharacterCollator
public java.text.RuleBasedCollator getCharacterCollator(int collationType) throws StandardExceptionDescription copied from interface:DataValueFactoryReturn the RuleBasedCollator depending on the collation type. If the collation type is UCS_BASIC, then this method will return null. If the collation type is TERRITORY_BASED then the return value will be the Collator derived from the database's locale. If this is the first time Collator is being requested for a database with collation type of TERRITORY_BASED, then we will check to make sure that JVM supports the Collator for the database's locale. If not, we will throw an exception This method will be used when Store code is trying to create a DVD template row using the format ids and the collation types. First a DVD will be constructed just using format id. Then if the DVD is of type StringDataValue, then it will call this method to get the Collator object. If the Collator object returned from this method is null then we will continue to use the default DVDs for the character types, ie the DVDs which just use the JVM's default collation. (This is why, we want this method to return null if we are dealing with UCS_BASIC.) If the Collator object returned is not null, then we will construct collation sensitive DVD for the character types. So, the return value of this method determines if we are going to create a character DVD with default collation or with custom collation.- Specified by:
getCharacterCollatorin interfaceDataValueFactory- Parameters:
collationType- This will be UCS_BASIC or TERRITORY_BASED- Returns:
- Collator null if the collation type is UCS_BASIC. Collator based on territory if the collation type is TERRITORY_BASED
- Throws:
StandardException- See Also:
DataValueFactory.getCharacterCollator(int)
-
verifyCollatorSupport
private java.text.RuleBasedCollator verifyCollatorSupport(int strength) throws StandardExceptionVerify that JVM has support for the Collator for the database's locale.- Parameters:
strength- Collator strength or -1 for locale default.- Returns:
- Collator for database's locale
- Throws:
StandardException- if JVM does not have support for Collator
-
getNull
public DataValueDescriptor getNull(int formatId, int collationType) throws StandardException
Description copied from interface:DataValueFactoryReturn an object based on the format id and collation type. For format ids which do not correspond to character types, a format id is sufficient to get the right DVD. But for character types, Derby uses same format id for collation sensitive character types and for character types that use the default JVM collation. To get the correct DVD for character types, we need to know the collation type. Using collation type, we will determine if we need to construct collation sensitive DVD and associate the correct RuleBasedCollator with such DVDs.- Specified by:
getNullin interfaceDataValueFactory- Parameters:
formatId- Format id for the DVDcollationType- this is meaningful only for character types.- Returns:
- DataValueDescriptor which will be constructed using the passed parameters
- Throws:
StandardException- See Also:
DataValueFactory.getNull(int, int)
-
getNullDVDWithUCS_BASICcollation
public static DataValueDescriptor getNullDVDWithUCS_BASICcollation(int formatId)
This method will return a DVD based on the formatId. It doesn't take into account the collation that should be associated with collation sensitive DVDs, which are all the character type DVDs. Such DVDs returned from this method have default UCS_BASIC collation associated with them. If collation associated should be territory based, then that needs to be handled by the caller of this method. An example of such code in the caller can be seen in DataValueFactory.getNull method.- Parameters:
formatId- Return a DVD based on the format id- Returns:
- DataValueDescriptor with default collation of UCS_BASIC
-
getLocaleFinder
private LocaleFinder getLocaleFinder()
-
getContext
static Context getContext(java.lang.String contextID)
Privileged lookup of a Context. Package protected so that user code can't call this entry point.
-
getMonitor
private static ModuleFactory getMonitor()
Privileged Monitor lookup. Must be private so that user code can't call this entry point.
-
-