com.is.jrf
Class StringColumnSpec
java.lang.Object
|
+--com.is.jrf.AbstractColumnSpec
|
+--com.is.jrf.StringColumnSpec
- All Implemented Interfaces:
- ColumnSpec, JRFConstants
- public class StringColumnSpec
- extends AbstractColumnSpec
This subclass of AbstractColumnSpec does String-specific things.
Field Summary |
protected static java.lang.Class |
s_class
|
Fields inherited from class com.is.jrf.AbstractColumnSpec |
EQUALS, i_columnName, i_default, i_getter, i_naturalPrimaryKey, i_optimisticLock, i_required, i_sequencedPrimaryKey, i_setter, i_subtypeIdentifier, i_unique, NOT_EQUALS |
Fields inherited from interface com.is.jrf.JRFConstants |
CURRENT_DATE, CURRENT_TIMESTAMP, DEFAULT_TO_EMPTY_STRING, DEFAULT_TO_FALSE, DEFAULT_TO_NOW, DEFAULT_TO_NULL, DEFAULT_TO_ONE, DEFAULT_TO_TODAY, DEFAULT_TO_TRUE, DEFAULT_TO_ZERO, NATURAL_PRIMARY_KEY, NO_POST_FIND, OPTIMISTIC_LOCK, REQUIRED, SEQUENCED_PRIMARY_KEY, SUBTYPE_IDENTIFIER, UNIQUE |
Constructor Summary |
StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue)
|
StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1)
|
StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2)
|
StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2,
int option3)
|
Methods inherited from class com.is.jrf.AbstractColumnSpec |
buildNameValuePair, buildWhereClause, columnDefinitionString, copyAttribute, copyColumnValueToPersistentObject, decodeToPersistentObject, encode, encodeFromPersistentObject, getColumnName, getDefault, getFullyQualifiedColumnName, getGetter, getSetter, getSqlValueFrom, getValueFrom, getValueFrom, isNaturalPrimaryKey, isOptimisticLock, isPrimaryKey, isRequired, isSequencedPrimaryKey, isSubtypeIdentifier, isUnique, optimisticLockDefaultValue, setRequired, setValueTo, setValueTo, validateUnique, validateUnique |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
s_class
protected static java.lang.Class s_class
StringColumnSpec
public StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue)
StringColumnSpec
public StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1)
StringColumnSpec
public StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2)
StringColumnSpec
public StringColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2,
int option3)
formatForSql
public java.lang.String formatForSql(java.lang.Object obj,
DatabasePolicy dbPolicy)
- This method overrides the superclass implementation. A string of
"null" is returned if object is null, otherwise it returns a String
with quotes around it. Internal single quotes are converted to
two single quotes and the string is wrapped in single quotes.
- Overrides:
formatForSql
in class AbstractColumnSpec
- Parameters:
aValueObject
- a value of type 'ValueObject'- Returns:
- a value of type 'String'
decode
public java.lang.Object decode(java.lang.String aString)
- This method goes with encode(). The String parameter must have been
created by the encode() method.
- Overrides:
decode
in class AbstractColumnSpec
- Parameters:
aString
- a value of type 'String'- Returns:
- a value of type 'Object' (This actually will be a String or null)
getColumnClass
public java.lang.Class getColumnClass()
- Description copied from class:
AbstractColumnSpec
- See IntegerColumnSpec for example of how to implement:
- Overrides:
getColumnClass
in class AbstractColumnSpec
getColumnValueFrom
public java.lang.Object getColumnValueFrom(JDBCHelper helper)
throws java.sql.SQLException
- Return a String from JDBCHelper. If String is one blank, return an
empty string. This resolves a strange issue with SQLServer (and maybe
Sybase) that keeps returning empty or whitespace strings as one blank
character. If one blank is truly desired, then maybe this should go
into the DatabasePolicy, but then we'll have differing behavior when
switching databases.
- Overrides:
getColumnValueFrom
in class AbstractColumnSpec
- Parameters:
helper
- a value of type 'JDBCHelper'- Returns:
- a value of type 'Object'
- Throws:
java.sql.SQLException
- if an error occurs in JDBCHelper
validateRequired
public java.lang.Object validateRequired(PersistentObject aPO)
throws MissingAttributeException
- This is an override of the superclass implementation. This method adds
a check to make sure the string is not empty or blank.
- Overrides:
validateRequired
in class AbstractColumnSpec
- Parameters:
aPO
- a value of type 'PersistentObject'- Returns:
- a value of type 'Object'
- Throws:
MissingAttributeException
- if an error occurs
getSQLColumnType
public java.lang.String getSQLColumnType(DatabasePolicy dbPolicy)
- Return the ANSI standard SQL column type. This was written to support
the test suites. If there is no standard that will work across
platforms, then we'll add a method to dbPolicy and return its' value.
- Overrides:
getSQLColumnType
in class AbstractColumnSpec
- Parameters:
dbPolicy
- a value of type 'DatabasePolicy'- Returns:
- a value of type 'String'
buildJoinColumn
public JoinColumn buildJoinColumn()
- Overrides:
buildJoinColumn
in class AbstractColumnSpec
- Following copied from class:
com.is.jrf.AbstractColumnSpec
- Returns:
- a JoinColumn subclass instance with data from myself.