Package simpleorm.dataset
Class SFieldBlob
- java.lang.Object
-
- simpleorm.dataset.SFieldMeta
-
- simpleorm.dataset.SFieldScalar
-
- simpleorm.dataset.SFieldBlob
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
BlobField
public class SFieldBlob extends SFieldScalar
Represents a BLOB, Binary large object. See SFieldBytes for short binary strings. Supports returning the entire blob as a byte array, but that is not normal practice. ### Untested.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class simpleorm.dataset.SFieldScalar
sqlDataTypeOverride, theGenerator
-
Fields inherited from class simpleorm.dataset.SFieldMeta
quoteName
-
-
Constructor Summary
Constructors Constructor Description SFieldBlob(SRecordMeta meta, java.lang.String columnName, int maxSize, SFieldFlags... pvals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
convertToDataSetFieldType(java.lang.Object raw)
Converts the parameter from the raw type parameter to the correct internal Object type that is stored in the data set.java.lang.String
defaultSqlDataType()
The default data type if not overriden by overrideSqlDataType.boolean
isFKeyCompatible(SFieldScalar field)
int
javaSqlType()
java.lang.Object
queryFieldValue(java.sql.ResultSet rs, int sqlIndex)
Issues a JDBC get*() on the result set for the field and converts the database type to the appropriate internal type, eg, Double for a double field.java.lang.Object
writeFieldValue(java.lang.Object value)
Converts a single value from internal representation to database representation.-
Methods inherited from class simpleorm.dataset.SFieldScalar
getColumnName, getGeneratorMode, getGeneratorParameter, getMaxSize, getReferences, getTheGenerator, isForeignKey, isGenerated, isMandatory, isNotOptimisticLocked, isPrimary, overrideSqlDataType, setGeneratorMode, setMaxSize, setTheGenerator, toLongerString
-
Methods inherited from class simpleorm.dataset.SFieldMeta
addFlag, addValidator, doValidate, equals, getFieldName, getFlags, getRecordMeta, getUserProperties, getUserProperty, getValidators, hashCode, isDescriptive, isUnqueried, nextGeneratedValue, putUserProperty, readResolve, setQuoted, toString, writeFieldValue
-
-
-
-
Constructor Detail
-
SFieldBlob
public SFieldBlob(SRecordMeta meta, java.lang.String columnName, int maxSize, SFieldFlags... pvals)
-
-
Method Detail
-
queryFieldValue
public java.lang.Object queryFieldValue(java.sql.ResultSet rs, int sqlIndex) throws java.lang.Exception
Description copied from class:SFieldMeta
Issues a JDBC get*() on the result set for the field and converts the database type to the appropriate internal type, eg, Double for a double field. The first column has sqlIndex==1.- Specified by:
queryFieldValue
in classSFieldMeta
- Throws:
java.lang.Exception
-
convertToDataSetFieldType
protected java.lang.Object convertToDataSetFieldType(java.lang.Object raw)
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 bySRecordInstance.setObject
etc., Not getObject.- Specified by:
convertToDataSetFieldType
in classSFieldMeta
-
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 classSFieldScalar
-
isFKeyCompatible
public boolean isFKeyCompatible(SFieldScalar field)
-
javaSqlType
public int javaSqlType()
- Specified by:
javaSqlType
in classSFieldScalar
- Returns:
- int constant from java.sql.Types, used for setting sql datatype with null values
-
writeFieldValue
public java.lang.Object writeFieldValue(java.lang.Object value)
Description copied from class:SFieldMeta
Converts a single value from internal representation to database representation. Used primarily by the writeFieldValue above, but also used for converting optimistic lock values in SRecordInstance.flush.Overidden by SFieldBoolean. (not by SFieldString).
NOTE: This does NOT need to handle NULL values (those are handled seperately by SRecordInstance)
- Overrides:
writeFieldValue
in classSFieldMeta
-
-