Class SQLTypeInfo

    • Field Detail

      • fromJdbcDriver

        protected boolean fromJdbcDriver
        Whether this originates from the JDBC Driver
      • typeName

        protected String typeName
        The RDBMS-specific name for this data type.
      • dataType

        protected short dataType
        The JDBC data type number of this data type (see java.sql.Types).
      • precision

        protected int precision
        The maximum precision/length allowed for this data type.
      • literalPrefix

        protected String literalPrefix
        The prefix used to quote a literal of this data type; may be null.
      • literalSuffix

        protected String literalSuffix
        The suffix used to quote a literal of this data type; may be null.
      • createParams

        protected String createParams
        Indicates the parameters used in defining columns of this type.
      • nullable

        protected int nullable
        Indicates whether null values are allowed for this data type.
      • caseSensitive

        protected boolean caseSensitive
        Whether the data type is case-sensitive in comparisons.
      • searchable

        protected short searchable
        The searchability of this data type in terms of the kinds of SQL WHERE clauses that are allowed.
      • unsignedAttribute

        protected boolean unsignedAttribute
        true indicates the type is unsigned, false otherwise.
      • fixedPrecScale

        protected boolean fixedPrecScale
        Whether the type can be assigned a fixed scale value, such as for decimal or currency types.
      • autoIncrement

        protected boolean autoIncrement
        Whether the type automatically increments for each new row inserted.
      • localTypeName

        protected String localTypeName
        Localized version of the DBMS-specific type name of this data type.
      • minimumScale

        protected short minimumScale
        The minimum supported scale value for this data type.
      • maximumScale

        protected short maximumScale
        The maximum supported scale value for this data type.
      • numPrecRadix

        protected int numPrecRadix
        Indicates the numeric radix of this data type, which is usually 2 or 10.
      • allowsPrecisionSpec

        protected boolean allowsPrecisionSpec
        Whether the type allows specification of the precision in parentheses after the type name.
    • Constructor Detail

      • SQLTypeInfo

        public SQLTypeInfo​(String typeName,
                           short dataType,
                           int precision,
                           String literalPrefix,
                           String literalSuffix,
                           String createParams,
                           int nullable,
                           boolean caseSensitive,
                           short searchable,
                           boolean unsignedAttribute,
                           boolean fixedPrecScale,
                           boolean autoIncrement,
                           String localTypeName,
                           short minimumScale,
                           short maximumScale,
                           int numPrecRadix)
      • SQLTypeInfo

        public SQLTypeInfo​(ResultSet rs)
        Constructor to create a type info definition for the current row of the passed ResultSet.
        Parameters:
        rs - ResultSet (from DatabaseMetaData.getTypeInfo() for example).
        Throws:
        org.datanucleus.exceptions.NucleusDataStoreException - Thrown if an error occurs getting the information
    • Method Detail

      • addProperty

        public void addProperty​(String name,
                                Object value)
        Method to add a property for the type.
        Specified by:
        addProperty in interface org.datanucleus.store.schema.StoreSchemaData
        Parameters:
        name - Name of property
        value - Its value
      • getProperty

        public Object getProperty​(String name)
        Accessor for a property.
        Specified by:
        getProperty in interface org.datanucleus.store.schema.StoreSchemaData
        Parameters:
        name - Name of the property
        Returns:
        Its value, or null if not defined
      • equals

        public final boolean equals​(Object obj)
        Indicates whether some object is "equal to" this one. Two SQLTypeInfo are considered equal if their type name and data type properties are equal.
        Overrides:
        equals in class Object
        Parameters:
        obj - the reference object with which to compare
        Returns:
        true if this object is equal to the obj argument; false otherwise.
      • hashCode

        public final int hashCode()
        Returns a hash code value for this object.
        Overrides:
        hashCode in class Object
        Returns:
        a hash code value for this object.
      • toString

        public String toString()
        Returns the string representation of this object.
        Overrides:
        toString in class Object
        Returns:
        string representation of this object.
      • toString

        public String toString​(String indent)
        Returns the string representation of this object.
        Parameters:
        indent - The indent for each line of the output
        Returns:
        string representation of this object.
      • isCompatibleWith

        public boolean isCompatibleWith​(RDBMSColumnInfo colInfo)
        Convenience method for returning if this type is compatible with the provided column. Compares the data type of each record, and returns true if the types are equivalent. For example one could be VARCHAR, and the other LONGVARCHAR so they both store string data, and hence they are compatible.
        Parameters:
        colInfo - The column
        Returns:
        Whether they are considered compatible
      • setTypeName

        public void setTypeName​(String typeName)
      • getTypeName

        public String getTypeName()
      • getDataType

        public short getDataType()
      • getPrecision

        public int getPrecision()
      • getLiteralPrefix

        public String getLiteralPrefix()
      • getLiteralSuffix

        public String getLiteralSuffix()
      • getCreateParams

        public String getCreateParams()
      • getNullable

        public int getNullable()
      • isCaseSensitive

        public boolean isCaseSensitive()
      • getSearchable

        public short getSearchable()
      • isUnsignedAttribute

        public boolean isUnsignedAttribute()
      • isFixedPrecScale

        public boolean isFixedPrecScale()
      • isAutoIncrement

        public boolean isAutoIncrement()
      • setLocalTypeName

        public void setLocalTypeName​(String localTypeName)
      • getLocalTypeName

        public String getLocalTypeName()
      • getMinimumScale

        public short getMinimumScale()
      • getMaximumScale

        public short getMaximumScale()
      • getNumPrecRadix

        public int getNumPrecRadix()
      • setAllowsPrecisionSpec

        public void setAllowsPrecisionSpec​(boolean allowsPrecisionSpec)
      • isAllowsPrecisionSpec

        public boolean isAllowsPrecisionSpec()