public final class DBPathClause extends java.lang.Object implements DBClause
Modifier and Type | Field and Description |
---|---|
static boolean |
DISABLE_IN_MEMORY_CHECK
disabled the check of IN MEMORY objects first.
|
DataSource |
ds
the data source
|
static int |
MAX_IN_VALUES
the max number IN values.
|
static java.lang.String |
PROPERTY_DISABLE_IN_MEMORY_CHECK
The property to disable the IN MEMORY objects first.
|
static java.lang.String |
SYMBOL_BETWEEN |
static java.lang.String |
SYMBOL_CONTAINS |
static java.lang.String |
SYMBOL_CONTAINS_ANY_OF |
static java.lang.String |
SYMBOL_ENDSWITH |
static java.lang.String |
SYMBOL_EQUALS
= symbol
|
static java.lang.String |
SYMBOL_GREATER
greater than symbol
|
static java.lang.String |
SYMBOL_GREATER_EQUALS |
static java.lang.String |
SYMBOL_IN
IN operator
|
static java.lang.String |
SYMBOL_IS
IS symbol
|
static java.lang.String |
SYMBOL_IS_IN
IS IN symbol
|
static java.lang.String |
SYMBOL_LESS
less than symbol
|
static java.lang.String |
SYMBOL_LESS_EQUALS
less than equals symbol
|
static java.lang.String |
SYMBOL_LIKE
LIKE symbol
|
static java.lang.String |
SYMBOL_MATCHES
matches
|
static java.lang.String |
SYMBOL_NOT_BETWEEN |
static java.lang.String |
SYMBOL_NOT_EQUAL
not equals symbol
|
static java.lang.String |
SYMBOL_NOT_IN
SELECT * FROM Person WHERE Name NOT IN ( 'Jack', 'Sam')
|
static java.lang.String |
SYMBOL_NOT_IS
NOT IS symbol
|
static java.lang.String |
SYMBOL_NOT_IS_IN
NOT IS IN symbol
|
static java.lang.String |
SYMBOL_NOT_LIKE
NOT LIKE symbol
|
static java.lang.String |
SYMBOL_NOT_NULL |
static java.lang.String |
SYMBOL_NOTCONTAINS |
static java.lang.String |
SYMBOL_NOTENDSWITH |
static java.lang.String |
SYMBOL_NOTSTARTSWITH |
static java.lang.String |
SYMBOL_NULL
null symbol
|
static java.lang.String |
SYMBOL_STARTSWITH |
Constructor and Description |
---|
DBPathClause(DataSource ds,
DBClassConcrete baseClass,
DBField field,
java.lang.String symbol,
java.lang.Object value)
Creates new DBClause
|
DBPathClause(DataSource ds,
DBClassConcrete baseClass,
java.lang.String fieldPath,
java.lang.String symbol,
java.lang.Object value)
Creates a new clause
|
DBPathClause(DataSource ds,
Path path,
java.lang.String symbol,
java.lang.Object value)
Creates a new clause
|
Modifier and Type | Method and Description |
---|---|
boolean |
canSelect(boolean isIndexed,
VirtualDB layer)
Can we select this from the database.
|
DBClause |
cloneOpposite()
make the opposite clause
|
static java.lang.String |
convertSymbol(java.lang.String orgSymbol) |
DBClause |
doClone() |
DBClassConcrete |
getBaseClassConcrete() |
java.lang.Object[] |
getBetweenValues() |
java.lang.String |
getComment() |
DBField |
getField() |
Path |
getPath() |
long |
getRowsEstimate(VirtualDB layer)
the estimated rows for this clause.
|
int |
getRowsEstimatePerMatch(VirtualDB layer)
the estimated rows for this clause.
|
long |
getRowsEstimateTargetField(VirtualDB layer) |
java.lang.String |
getSQLValue(VirtualDB layer,
boolean isIndexed,
int step) |
java.lang.String |
getString() |
java.lang.String |
getSymbol() |
DBClassConcrete |
getTargetClassConcrete()
get the target class of this path
|
java.lang.Object |
getValue() |
java.lang.String[] |
getValueList() |
boolean |
isAfirmitiveRestriction() |
boolean |
isBottomLevel(VirtualDB layer)
Are we at the bottom level
|
boolean |
isComplex()
Is this clause complex ?
|
boolean |
isFinal()
Is this clause final ?
|
static boolean |
isValidSymbol(java.lang.String orgSymbol) |
boolean |
matches(DBObject obj,
HintField hint)
Does this object match this clause ?
the checkRes flag dictates when we should return false when checking a path which can return multiple results from the same base For e.g if the condition is to return all invoices that have a linked task with a status of done then we would return false if no tasks where found with a status of done. |
void |
setComment(java.lang.String comment) |
void |
setFinal()
make the clause final
|
java.lang.String |
toString()
a string version of this clause
|
java.lang.String |
where() |
public static final java.lang.String PROPERTY_DISABLE_IN_MEMORY_CHECK
public static final boolean DISABLE_IN_MEMORY_CHECK
public static final java.lang.String SYMBOL_IN
public static final java.lang.String SYMBOL_NOT_IN
public static final java.lang.String SYMBOL_IS_IN
public static final java.lang.String SYMBOL_NOT_IS_IN
public static final java.lang.String SYMBOL_EQUALS
public static final java.lang.String SYMBOL_IS
public static final java.lang.String SYMBOL_NOT_IS
public static final java.lang.String SYMBOL_LIKE
public static final java.lang.String SYMBOL_NOT_LIKE
public static final java.lang.String SYMBOL_NOT_EQUAL
public static final java.lang.String SYMBOL_GREATER
public static final java.lang.String SYMBOL_LESS
public static final java.lang.String SYMBOL_LESS_EQUALS
public static final java.lang.String SYMBOL_NULL
public static final java.lang.String SYMBOL_NOT_NULL
public static final java.lang.String SYMBOL_GREATER_EQUALS
public static final java.lang.String SYMBOL_BETWEEN
public static final java.lang.String SYMBOL_NOT_BETWEEN
public static final java.lang.String SYMBOL_STARTSWITH
public static final java.lang.String SYMBOL_ENDSWITH
public static final java.lang.String SYMBOL_CONTAINS
public static final java.lang.String SYMBOL_MATCHES
public static final java.lang.String SYMBOL_NOTSTARTSWITH
public static final java.lang.String SYMBOL_NOTENDSWITH
public static final java.lang.String SYMBOL_NOTCONTAINS
public static final java.lang.String SYMBOL_CONTAINS_ANY_OF
public final DataSource ds
public static final int MAX_IN_VALUES
public DBPathClause(@Nonnull DataSource ds, @Nonnull DBClassConcrete baseClass, @Nonnull DBField field, @Nonnull java.lang.String symbol, @Nullable java.lang.Object value) throws InvalidClauseException
baseClass
- the base class for this clauseds
- the data sourcefield
- the field to restrict onsymbol
- the restriction symbolvalue
- the restriction valueInvalidClauseException
- the clause is not validpublic DBPathClause(@Nonnull DataSource ds, @Nonnull DBClassConcrete baseClass, @Nonnull java.lang.String fieldPath, @Nonnull java.lang.String symbol, @Nullable java.lang.Object value) throws InvalidClauseException
ds
- the data sourcebaseClass
- the base class for this clausefieldPath
- the field to restrict onsymbol
- the restriction symbolvalue
- the restriction valueInvalidClauseException
- the clause is not validpublic DBPathClause(DataSource ds, Path path, java.lang.String symbol, java.lang.Object value) throws InvalidClauseException
ds
- the data sourcepath
- the path to restrict onsymbol
- the restriction symbolvalue
- the restriction valueInvalidClauseException
- the clause is not valid@CheckReturnValue public boolean matches(@Nonnull DBObject obj, @Nullable HintField hint) throws java.lang.Exception
@CheckReturnValue public boolean isComplex()
@CheckReturnValue @Nonnull public java.lang.String where()
@CheckReturnValue @Nonnull public java.lang.String toString()
toString
in class java.lang.Object
@CheckReturnValue public boolean isBottomLevel(@Nonnull VirtualDB layer)
isBottomLevel
in interface DBClause
layer
- the layer@CheckReturnValue public boolean isFinal()
@CheckReturnValue @Nonnull public java.lang.String[] getValueList()
@CheckReturnValue @Nonnull public static java.lang.String convertSymbol(@Nullable java.lang.String orgSymbol)
orgSymbol
- @CheckReturnValue public boolean isAfirmitiveRestriction()
@CheckReturnValue @Nonnull public DBClassConcrete getBaseClassConcrete()
@CheckReturnValue @Nonnull public DBClassConcrete getTargetClassConcrete()
@CheckReturnValue @Nonnegative public int getRowsEstimatePerMatch(@Nonnull VirtualDB layer)
layer
- the layer@CheckReturnValue @Nonnegative public long getRowsEstimate(@Nonnull VirtualDB layer)
layer
- the layer@CheckReturnValue @Nonnegative public long getRowsEstimateTargetField(@Nonnull VirtualDB layer)
layer
- @CheckReturnValue public static boolean isValidSymbol(@Nonnull java.lang.String orgSymbol)
orgSymbol
- @CheckReturnValue public boolean canSelect(boolean isIndexed, @Nonnull VirtualDB layer)
isIndexed
- layer
- the layer@CheckReturnValue @Nonnull public DBField getField()
@CheckReturnValue @Nonnull public java.lang.String getSymbol()
@CheckReturnValue @Nullable public java.lang.Object getValue()
@CheckReturnValue @Nonnull public java.lang.String getString()
@CheckReturnValue @Nullable public java.lang.Object[] getBetweenValues()
@CheckReturnValue @Nullable public Path getPath()
public void setComment(@Nullable java.lang.String comment)
comment
- @CheckReturnValue @Nonnull public java.lang.String getComment()
@CheckReturnValue @Nullable public java.lang.String getSQLValue(@Nonnull VirtualDB layer, boolean isIndexed, int step) throws java.lang.Exception
layer
- the layerisIndexed
- step
- java.lang.Exception
- a serious problem@Nonnull @CheckReturnValue public DBClause doClone()
@Nonnull @CheckReturnValue public DBClause cloneOpposite() throws java.lang.CloneNotSupportedException, InvalidClauseException
DBClause
cloneOpposite
in interface DBClause
java.lang.CloneNotSupportedException
InvalidClauseException
stSoftware Copyright © 2001-2014 stSoftware All Rights Reserved.