Class SFieldObject

  • All Implemented Interfaces:
    java.io.Serializable

    public class SFieldObject
    extends SFieldScalar
    Represents columns that are not objects known to SimpleORM. No conversions are done, so this provides a direct gateway to java.sql.RecordSet.getObject. Useful for database specific data types such as PostgreSQL's GIS types, and also for the new SQL array and object types.

    ## Should add the JDBC object mapping property, but normally the default map is OK.

    See Also:
    Serialized Form
    • Constructor Detail

      • SFieldObject

        public SFieldObject​(SRecordMeta meta,
                            java.lang.String columnName,
                            SFieldFlags... pvals)
    • Method Detail

      • queryFieldValue

        public java.lang.Object queryFieldValue​(java.sql.ResultSet rs,
                                                int sqlIndex)
                                         throws java.lang.Exception
        Specidalizes abstract method to actually query a column from a result set.
        Specified by:
        queryFieldValue in class SFieldMeta
        Throws:
        java.lang.Exception
      • convertToDataSetFieldType

        protected java.lang.Object convertToDataSetFieldType​(java.lang.Object raw)
                                                      throws java.lang.Exception
        Description copied from class: SFieldMeta
        Converts the parameter from the raw type parameter to the correct internal Object type that is stored in the data set. Returns the object if no conversion necessary. Used by SRecordInstance.setObject etc., Not getObject.
        Specified by:
        convertToDataSetFieldType in class SFieldMeta
        Throws:
        java.lang.Exception
      • defaultSqlDataType

        public java.lang.String defaultSqlDataType()
        Description copied from class: SFieldScalar
        The default data type if not overriden by overrideSqlDataType. This is only called when the data type is actually needed by CREATE TABLE, ie if no sqlDataTypeOverride is specified.
        Specified by:
        defaultSqlDataType in class SFieldScalar
      • isFKeyCompatible

        public boolean isFKeyCompatible​(SFieldScalar field)
      • javaSqlType

        public int javaSqlType()
        Specified by:
        javaSqlType in class SFieldScalar
        Returns:
        int constant from java.sql.Types, used for setting sql datatype with null values