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 DBClauselayer - 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
DBClausecloneOpposite in interface DBClausejava.lang.CloneNotSupportedExceptionInvalidClauseExceptionstSoftware Copyright © 2001-2014 stSoftware All Rights Reserved.