Interface DataValueFactory

All Known Implementing Classes:
DataValueFactoryImpl

public interface DataValueFactory
This interface is how we get data values of different types. For any method that takes a 'previous' argument it is required that the caller pass in an object of the same class that would be returned by the call if null was passed for previous.
  • Method Details

    • getDataValue

      NumberDataValue getDataValue(Integer value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(char value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(Short value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(Byte value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(Long value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(Float value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(Double value, NumberDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getDataValue

      BooleanDataValue getDataValue(Boolean value, BooleanDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getLongVarbitDataValue

      BitDataValue getLongVarbitDataValue(byte[] value, BitDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getBlobDataValue

      BitDataValue getBlobDataValue(byte[] value, BitDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getBlobDataValue

      BitDataValue getBlobDataValue(Blob value, BitDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getVarcharDataValue

      StringDataValue getVarcharDataValue(String value)
      Get a SQL varchar with the given value. A null argument means get a SQL null value.
    • getVarcharDataValue

      StringDataValue getVarcharDataValue(String value, StringDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getVarcharDataValue

      StringDataValue getVarcharDataValue(String value, StringDataValue previous, int collationType) throws StandardException
      Get a StringDataValue to represent a SQL VARCHAR 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.
      Throws:
      StandardException
    • getLongvarcharDataValue

      StringDataValue getLongvarcharDataValue(String value)
      Get a SQL long varchar with the given value. A null argument means get a SQL null value.
    • getLongvarcharDataValue

      StringDataValue getLongvarcharDataValue(String value, StringDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getLongvarcharDataValue

      StringDataValue getLongvarcharDataValue(String value, StringDataValue previous, int collationType) throws StandardException
      Get a StringDataValue to represent a SQL LONG VARCHAR 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.
      Throws:
      StandardException
    • getClobDataValue

      StringDataValue getClobDataValue(String value, StringDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getClobDataValue

      StringDataValue getClobDataValue(Clob value, StringDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getClobDataValue

      StringDataValue getClobDataValue(String value, StringDataValue previous, int collationType) throws StandardException
      Get a StringDataValue to represent a SQL LONG VARCHAR 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.
      Throws:
      StandardException
    • getClobDataValue

      StringDataValue getClobDataValue(Clob value, StringDataValue previous, int collationType) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      UserDataValue getDataValue(Object value, UserDataValue previous)
      Get 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.
    • getDataValue

      RefDataValue getDataValue(RowLocation value, RefDataValue previous)
      Get 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.
    • getDataValue

      NumberDataValue getDataValue(int value, NumberDataValue previous) throws StandardException
      Get a SQL int with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(long value, NumberDataValue previous) throws StandardException
      Get a SQL bigint with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(float value, NumberDataValue previous) throws StandardException
      Get a SQL real with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException - Thrown on error
    • getDataValue

      NumberDataValue getDataValue(double value, NumberDataValue previous) throws StandardException
      Get a SQL double precision with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException - Thrown on error
    • getDataValue

      NumberDataValue getDataValue(short value, NumberDataValue previous) throws StandardException
      Get a SQL SMALLINT with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getDataValue

      NumberDataValue getDataValue(byte value, NumberDataValue previous) throws StandardException
      Get a SQL TINYINT with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getDecimalDataValue

      NumberDataValue getDecimalDataValue(Number value, NumberDataValue previous) throws StandardException
      Get a SQL DECIMAL with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException - Thrown on error
    • getDataValue

      BooleanDataValue getDataValue(boolean value, BooleanDataValue previous) throws StandardException
      Get a SQL boolean with the given value. The second arg re-uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getBitDataValue

      BitDataValue getBitDataValue(byte[] value) throws StandardException
      Get a SQL bit with the given value. The second form re-uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException - Thrown on error
    • getBitDataValue

      BitDataValue getBitDataValue(byte[] value, BitDataValue previous) throws StandardException
      Throws:
      StandardException
    • getVarbitDataValue

      BitDataValue getVarbitDataValue(byte[] value, BitDataValue previous) throws StandardException
      Get a SQL bit with the given value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException - Thrown on error
    • getCharDataValue

      StringDataValue getCharDataValue(String value)
      Get a new SQLChar object to represent a SQL CHAR (UCS_BASIC) with the given value. A null argument means get a SQL NULL value.
    • getCharDataValue

      StringDataValue getCharDataValue(String value, StringDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getCharDataValue

      StringDataValue getCharDataValue(String value, StringDataValue previous, int collationType) throws StandardException
      Get a StringDataValue to represent a SQL CHAR 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.
      Throws:
      StandardException
    • getDataValue

      DateTimeDataValue getDataValue(Date value, DateTimeDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      DateTimeDataValue getDataValue(Time value, DateTimeDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getDataValue

      DateTimeDataValue getDataValue(Timestamp value, DateTimeDataValue previous) throws StandardException
      Get 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.
      Throws:
      StandardException
    • getTimestamp

      Implement the timestamp SQL function: construct a SQL timestamp from a string, or timestamp.
      Parameters:
      operand - Must be a timestamp or a string convertible to a timestamp.
      Throws:
      StandardException
    • getTimestamp

      Construct a SQL timestamp from a date and time.
      Parameters:
      date - Must be convertible to a date.
      time - Must be convertible to a time.
      Throws:
      StandardException
    • getDate

      Implements the SQL date function
      Parameters:
      operand - A date, timestamp, string or integer.
      Returns:
      the corresponding date value
      Throws:
      StandardException - if the syntax is invalid or the date is out of range.
    • getDateValue

      DateTimeDataValue getDateValue(String dateStr, boolean isJdbcEscape) throws StandardException
      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

      DateTimeDataValue getTimeValue(String timeStr, boolean isJdbcEscape) throws StandardException
      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

      DateTimeDataValue getTimestampValue(String timestampStr, boolean isJdbcEscape) throws StandardException
      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

      XMLDataValue getXMLDataValue(XMLDataValue previous) throws StandardException
      Get a null XML value. Uses the previous value, if non-null, as the data holder to return.
      Throws:
      StandardException
    • getNullInteger

      NumberDataValue getNullInteger(NumberDataValue dataValue)
      Get 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.
    • getNullShort

      NumberDataValue getNullShort(NumberDataValue dataValue)
      Get 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.
    • getNullByte

      NumberDataValue getNullByte(NumberDataValue dataValue)
      Get 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.
    • getNullLong

      NumberDataValue getNullLong(NumberDataValue dataValue)
      Get 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.
    • getNullFloat

      NumberDataValue getNullFloat(NumberDataValue dataValue)
      Get 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.
    • getNullDouble

      NumberDataValue getNullDouble(NumberDataValue dataValue)
      Get 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.
    • getNullDecimal

      NumberDataValue getNullDecimal(NumberDataValue dataValue)
      Get 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.
    • getNullBoolean

      BooleanDataValue getNullBoolean(BooleanDataValue dataValue)
      Get 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.
    • getNullBit

      BitDataValue getNullBit(BitDataValue dataValue) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getNullVarbit

      BitDataValue getNullVarbit(BitDataValue dataValue) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getNullLongVarbit

      BitDataValue getNullLongVarbit(BitDataValue dataValue) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getNullBlob

      BitDataValue getNullBlob(BitDataValue dataValue) throws StandardException
      Get 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.
      Throws:
      StandardException - Thrown on error
    • getNullChar

      StringDataValue getNullChar(StringDataValue dataValue)
      Get 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.
    • getNullChar

      StringDataValue getNullChar(StringDataValue dataValue, 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.
      Throws:
      StandardException
    • getNullVarchar

      StringDataValue getNullVarchar(StringDataValue dataValue)
      Get 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.
    • getNullVarchar

      StringDataValue getNullVarchar(StringDataValue dataValue, 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.
      Throws:
      StandardException
    • getNullLongvarchar

      StringDataValue getNullLongvarchar(StringDataValue dataValue)
      Get 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.
    • getNullLongvarchar

      StringDataValue getNullLongvarchar(StringDataValue dataValue, 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.
      Throws:
      StandardException
    • getNullClob

      StringDataValue getNullClob(StringDataValue dataValue)
      Get 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.
    • getNullClob

      StringDataValue getNullClob(StringDataValue dataValue, 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.
      Throws:
      StandardException
    • getNullObject

      UserDataValue getNullObject(UserDataValue dataValue)
      Get 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.
    • getNullRef

      RefDataValue getNullRef(RefDataValue dataValue)
      Get 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.
    • getNullDate

      DateTimeDataValue getNullDate(DateTimeDataValue dataValue)
      Get 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.
    • getNullTime

      DateTimeDataValue getNullTime(DateTimeDataValue dataValue)
      Get 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.
    • getNullTimestamp

      DateTimeDataValue getNullTimestamp(DateTimeDataValue dataValue)
      Get 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.
    • getNullXML

      XMLDataValue getNullXML(XMLDataValue dataValue)
      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.
    • getCharacterCollator

      RuleBasedCollator getCharacterCollator(int collationType) throws StandardException
      Return 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.
      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
    • getNull

      DataValueDescriptor getNull(int formatId, int collationType) throws StandardException
      Return 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.
      Parameters:
      formatId - Format id for the DVD
      collationType - this is meaningful only for character types.
      Returns:
      DataValueDescriptor which will be constructed using the passed parameters
      Throws:
      StandardException