org.enhydra.shark
Class BasicFilterBuilder
java.lang.Object
org.enhydra.shark.BasicFilterBuilder
- Direct Known Subclasses:
- ActivityFilterBuilderDODS, AssignmentFilterBuilderDODS, ProcessFilterBuilderDODS, ProcessMgrFilterBuilderDODS, ResourceFilterBuilderDODS, VariableFilterBuilderDODS
public abstract class BasicFilterBuilder
- extends java.lang.Object
BasicExpressionBuilder implements core expression builder functionality.
- Version:
- 0.21
- Author:
- V.Puskas
Constructor Summary |
protected |
BasicFilterBuilder(java.util.Properties p)
There are several parameters needed for expression building to work properly. |
Method Summary |
protected WMFilter |
_and(WMFilter[] fs)
|
protected WMFilter |
_or(WMFilter[] fs)
|
WMFilter |
addBshExpression(WMSessionHandle shandle,
WMFilter filter,
java.lang.String bshExpr)
Appends arbitrary condition
Here you may specify any script compatible expression, but beware complete
expression will be evaluated inside Java VM , not on DB. |
protected WMFilter |
addContains(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
|
protected WMFilter |
addContainsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEndsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
|
protected WMFilter |
addEndsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEquals(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
|
protected WMFilter |
addEquals(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
|
protected WMFilter |
addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
java.lang.String vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addEqualsWithSubQueryTwice(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlMiddlePart,
java.lang.String sqlEndPart)
|
protected WMFilter |
addGreaterThan(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
|
protected WMFilter |
addGreaterThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addGreaterThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addGreaterThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addGreaterThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addLessThan(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
|
protected WMFilter |
addLessThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addLessThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addLessThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
|
protected WMFilter |
addLessThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
|
protected void |
addNewPropertyUsed(WMFilter filter,
java.lang.String prop,
java.lang.String propVal)
|
protected WMFilter |
addNotNull(int filterType,
java.lang.String java_name,
java.lang.String sql_name)
|
protected WMFilter |
addStartsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
|
protected WMFilter |
addStartsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
|
protected WMFilter |
addStratsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
|
WMFilter |
and(WMSessionHandle shandle,
WMFilter f1,
WMFilter f2)
|
WMFilter |
andForArray(WMSessionHandle shandle,
WMFilter[] fs)
|
protected void |
checkSecurity(WMSessionHandle shandle,
java.lang.String methodName,
java.util.Map d)
|
WMFilter |
createEmptyFilter(WMSessionHandle shandle)
|
protected char |
getDelimiter()
Some database vendors are peculiar about string(CHAR) delimiters, thus need for its
indirect usage. |
protected java.lang.String |
getEqualityOperation()
|
java.lang.String |
getIteratorEmptyExpression(WMSessionHandle shandle)
|
protected java.lang.String |
getSQLUpperCaseIfNeccessary(java.lang.String field)
|
protected java.lang.String |
getUpperCaseIfNeccessary(java.lang.String value)
|
WMFilter |
not(WMSessionHandle shandle,
WMFilter f)
|
WMFilter |
or(WMSessionHandle shandle,
WMFilter f1,
WMFilter f2)
|
WMFilter |
orForArray(WMSessionHandle shandle,
WMFilter[] fs)
|
WMFilter |
setLimit(WMSessionHandle shandle,
WMFilter f,
int limit)
|
protected WMFilter |
setOrderBy(WMFilter filter,
java.lang.String column,
boolean ascending)
|
WMFilter |
setStartPosition(WMSessionHandle shandle,
WMFilter f,
int startAt)
|
java.lang.String |
toIteratorExpression(WMSessionHandle shandle,
WMFilter filter)
|
protected java.lang.String |
whatsUsed(WMFilter filter)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
delimiter
protected static char delimiter
usingStandardVariableModel
protected static boolean usingStandardVariableModel
usingUppercaseStringQueries
protected static boolean usingUppercaseStringQueries
respectMultiWildcardsForContains
protected static boolean respectMultiWildcardsForContains
respectSingleWildcardsForContains
protected static boolean respectSingleWildcardsForContains
objectid_column_name
protected static java.lang.String objectid_column_name
PARAM_NAME_STRING_DELIMITER
public static final java.lang.String PARAM_NAME_STRING_DELIMITER
- See Also:
- Constant Field Values
PARAM_NAME_OBJECTID_COLUMN_NAME
public static final java.lang.String PARAM_NAME_OBJECTID_COLUMN_NAME
- See Also:
- Constant Field Values
PARAM_NAME_VARIABLE_MODEL
public static final java.lang.String PARAM_NAME_VARIABLE_MODEL
- See Also:
- Constant Field Values
PARAM_NAME_USE_UPERCASE_STRING_QUERIES
public static final java.lang.String PARAM_NAME_USE_UPERCASE_STRING_QUERIES
- See Also:
- Constant Field Values
PARAM_NAME_RESPECT_MULTI_WILDCARDS_FOR_CONTAINS
public static final java.lang.String PARAM_NAME_RESPECT_MULTI_WILDCARDS_FOR_CONTAINS
- See Also:
- Constant Field Values
PARAM_NAME_RESPECT_SINGLE_WILDCARDS_FOR_CONTAINS
public static final java.lang.String PARAM_NAME_RESPECT_SINGLE_WILDCARDS_FOR_CONTAINS
- See Also:
- Constant Field Values
BasicFilterBuilder
protected BasicFilterBuilder(java.util.Properties p)
- There are several parameters needed for expression building to work properly.
Constructor parameter may contain: ExpressionBuilder.StringDelimiter and
DatabaseManager.ObjectIdColumnName.
- Parameters:
p
- property object: probably Shark.getInstance().getProperties()
,
but we're nop picky :-) it could even be null in which case we'll use
hardcoded defaults for configurable parameters
getDelimiter
protected char getDelimiter()
- Some database vendors are peculiar about string(CHAR) delimiters, thus need for its
indirect usage.
- Returns:
- currently configured delimiter
and
public WMFilter and(WMSessionHandle shandle,
WMFilter f1,
WMFilter f2)
throws java.lang.Exception
- Throws:
java.lang.Exception
andForArray
public WMFilter andForArray(WMSessionHandle shandle,
WMFilter[] fs)
throws java.lang.Exception
- Throws:
java.lang.Exception
_and
protected WMFilter _and(WMFilter[] fs)
or
public WMFilter or(WMSessionHandle shandle,
WMFilter f1,
WMFilter f2)
throws java.lang.Exception
- Throws:
java.lang.Exception
orForArray
public WMFilter orForArray(WMSessionHandle shandle,
WMFilter[] fs)
throws java.lang.Exception
- Throws:
java.lang.Exception
_or
protected WMFilter _or(WMFilter[] fs)
not
public WMFilter not(WMSessionHandle shandle,
WMFilter f)
throws java.lang.Exception
- Throws:
java.lang.Exception
setStartPosition
public WMFilter setStartPosition(WMSessionHandle shandle,
WMFilter f,
int startAt)
throws java.lang.Exception
- Throws:
java.lang.Exception
setLimit
public WMFilter setLimit(WMSessionHandle shandle,
WMFilter f,
int limit)
throws java.lang.Exception
- Throws:
java.lang.Exception
getSQLUpperCaseIfNeccessary
protected java.lang.String getSQLUpperCaseIfNeccessary(java.lang.String field)
getUpperCaseIfNeccessary
protected java.lang.String getUpperCaseIfNeccessary(java.lang.String value)
getEqualityOperation
protected java.lang.String getEqualityOperation()
addEquals
protected WMFilter addEquals(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
addNotNull
protected WMFilter addNotNull(int filterType,
java.lang.String java_name,
java.lang.String sql_name)
addEquals
protected WMFilter addEquals(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
addGreaterThan
protected WMFilter addGreaterThan(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
addLessThan
protected WMFilter addLessThan(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
long value)
addGreaterThanWithSubQuery
protected WMFilter addGreaterThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
addGreaterThanWithSubQueryForVariables
protected WMFilter addGreaterThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
addLessThanWithSubQuery
protected WMFilter addLessThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
addLessThanWithSubQueryForVariables
protected WMFilter addLessThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
addEqualsWithSubQuery
protected WMFilter addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
long value,
java.lang.String sqlEndPart)
addEqualsWithSubQueryForVariables
protected WMFilter addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
long vValue,
java.lang.String sqlEndPart)
addGreaterThanWithSubQuery
protected WMFilter addGreaterThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
addGreaterThanWithSubQueryForVariables
protected WMFilter addGreaterThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
addLessThanWithSubQuery
protected WMFilter addLessThanWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
addLessThanWithSubQueryForVariables
protected WMFilter addLessThanWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
addEqualsWithSubQuery
protected WMFilter addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
double value,
java.lang.String sqlEndPart)
addEqualsWithSubQueryForVariables
protected WMFilter addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
double vValue,
java.lang.String sqlEndPart)
addEqualsWithSubQuery
protected WMFilter addEqualsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
addEqualsWithSubQueryForVariables
protected WMFilter addEqualsWithSubQueryForVariables(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart1,
java.lang.String sqlInPart2,
java.lang.String vName,
java.lang.String vValue,
java.lang.String sqlEndPart)
addEqualsWithSubQueryTwice
protected WMFilter addEqualsWithSubQueryTwice(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlMiddlePart,
java.lang.String sqlEndPart)
addStartsWith
protected WMFilter addStartsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
addEndsWith
protected WMFilter addEndsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
addStartsWithSubQuery
protected WMFilter addStartsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
addEndsWithSubQuery
protected WMFilter addEndsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
addContainsWithSubQuery
protected WMFilter addContainsWithSubQuery(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String sqlInPart,
java.lang.String value,
java.lang.String sqlEndPart)
addContains
protected WMFilter addContains(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
addStratsWith
protected WMFilter addStratsWith(int filterType,
java.lang.String java_name,
java.lang.String sql_name,
java.lang.String value)
addBshExpression
public WMFilter addBshExpression(WMSessionHandle shandle,
WMFilter filter,
java.lang.String bshExpr)
throws java.lang.Exception
- Appends arbitrary condition
Here you may specify any script compatible expression, but beware complete
expression will be evaluated inside Java VM , not on DB.
- Parameters:
bshExpr
- condition to add
- Returns:
- itself
- Throws:
java.lang.Exception
setOrderBy
protected WMFilter setOrderBy(WMFilter filter,
java.lang.String column,
boolean ascending)
createEmptyFilter
public WMFilter createEmptyFilter(WMSessionHandle shandle)
throws java.lang.Exception
- Throws:
java.lang.Exception
toIteratorExpression
public java.lang.String toIteratorExpression(WMSessionHandle shandle,
WMFilter filter)
throws java.lang.Exception
- Throws:
java.lang.Exception
getIteratorEmptyExpression
public java.lang.String getIteratorEmptyExpression(WMSessionHandle shandle)
throws java.lang.Exception
- Throws:
java.lang.Exception
addNewPropertyUsed
protected void addNewPropertyUsed(WMFilter filter,
java.lang.String prop,
java.lang.String propVal)
whatsUsed
protected java.lang.String whatsUsed(WMFilter filter)
checkSecurity
protected void checkSecurity(WMSessionHandle shandle,
java.lang.String methodName,
java.util.Map d)
throws java.lang.Exception
- Throws:
java.lang.Exception