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 Detail

      • getDataValue

        NumberDataValue getDataValue​(java.lang.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
      • 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​(java.sql.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​(java.lang.String value)
        Get a SQL varchar with the given value. A null argument means get a SQL null value.
      • getVarcharDataValue

        StringDataValue getVarcharDataValue​(java.lang.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​(java.lang.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​(java.lang.String value)
        Get a SQL long varchar with the given value. A null argument means get a SQL null value.
      • getLongvarcharDataValue

        StringDataValue getLongvarcharDataValue​(java.lang.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​(java.lang.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​(java.lang.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​(java.sql.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​(java.lang.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​(java.sql.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​(java.lang.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.
      • 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
      • getCharDataValue

        StringDataValue getCharDataValue​(java.lang.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​(java.lang.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​(java.lang.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
      • getDateValue

        DateTimeDataValue getDateValue​(java.lang.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​(java.lang.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​(java.lang.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.
      • 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.
      • 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
      • 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.
      • 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.
      • 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.
      • 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

        java.text.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