Class QConObject
- java.lang.Object
-
- com.db4o.internal.query.processor.QCon
-
- com.db4o.internal.query.processor.QConObject
-
- All Implemented Interfaces:
Visitor4
,FieldFilterable
,Constraint
,Unversioned
- Direct Known Subclasses:
QConClass
public class QConObject extends QCon implements FieldFilterable
Object constraint on queries
-
-
Field Summary
-
Fields inherited from class com.db4o.internal.query.processor.QCon
_children, i_evaluator, i_parent
-
-
Constructor Summary
Constructors Constructor Description QConObject()
QConObject(Transaction a_trans, QCon a_parent, QField a_field, java.lang.Object a_object)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Constraint
byExample()
Set the evaluation mode to object comparison (query by example).boolean
canBeIndexLeaf()
boolean
canLoadByIndex()
protected boolean
canResolveByFieldIndex()
Constraint
contains()
Sets the evaluation mode to string contains comparison.Constraint
endsWith(boolean caseSensitive)
Sets the evaluation mode to string endsWith comparison.Constraint
equal()
Used in conjunction withConstraint.smaller()
orConstraint.greater()
to create constraints like "smaller or equal", "greater or equal".void
filter(QField field, ParentCandidate candidate)
QField
getField()
java.lang.Object
getObject()
Returns the Object the query graph was constrained with to create thisConstraint
.Constraint
greater()
Sets the evaluation mode to >.boolean
hasObjectInParentPath(java.lang.Object obj)
Constraint
identity()
Sets the evaluation mode to identity comparison.int
identityID()
protected void
internalSetProcessedByIndex(QCandidates candidates)
Constraint
like()
Sets the evaluation mode to "like" comparison.boolean
onSameFieldAs(QCon other)
Constraint
smaller()
Sets the evaluation mode to <.Constraint
startsWith(boolean caseSensitive)
Sets the evaluation mode to string startsWith comparison.java.lang.String
toString()
void
visit(java.lang.Object obj)
-
Methods inherited from class com.db4o.internal.query.processor.QCon
and, childrenCount, container, evaluator, hasChildren, hasJoins, hasParent, id, iterateChildren, iterateJoins, not, or, parent, processedByIndex, setCandidates, setProcessedByIndex, streamLock, transaction
-
-
-
-
Constructor Detail
-
QConObject
public QConObject()
-
QConObject
public QConObject(Transaction a_trans, QCon a_parent, QField a_field, java.lang.Object a_object)
-
-
Method Detail
-
canBeIndexLeaf
public boolean canBeIndexLeaf()
- Overrides:
canBeIndexLeaf
in classQCon
-
canLoadByIndex
public boolean canLoadByIndex()
- Overrides:
canLoadByIndex
in classQCon
-
hasObjectInParentPath
public boolean hasObjectInParentPath(java.lang.Object obj)
- Overrides:
hasObjectInParentPath
in classQCon
-
identityID
public int identityID()
- Overrides:
identityID
in classQCon
-
onSameFieldAs
public boolean onSameFieldAs(QCon other)
- Overrides:
onSameFieldAs
in classQCon
-
visit
public void visit(java.lang.Object obj)
-
filter
public void filter(QField field, ParentCandidate candidate)
- Specified by:
filter
in interfaceFieldFilterable
-
contains
public Constraint contains()
Description copied from interface:Constraint
Sets the evaluation mode to string contains comparison. This only works on strings. The contains comparison is case sensitive. For example:
Pilot pilot = new Pilot("Test Pilot1", 100); container.store(pilot); ... query.constrain(Pilot.class); // All pilots with the name containing "est" will be retrieved query.descend("name").constrain("est").contains();
- Specified by:
contains
in interfaceConstraint
- Overrides:
contains
in classQCon
- Returns:
- this to allow the chaining of method calls.
- See Also:
like() for case insensitive string comparison
-
equal
public Constraint equal()
Description copied from interface:Constraint
Used in conjunction withConstraint.smaller()
orConstraint.greater()
to create constraints like "smaller or equal", "greater or equal". For example:
query.constrain(Pilot.class); query.descend("points").constrain(101).smaller().equal();
will return all pilots with points <= 101.- Specified by:
equal
in interfaceConstraint
- Overrides:
equal
in classQCon
- Returns:
- this
Constraint
to allow the chaining of method calls.
-
getObject
public java.lang.Object getObject()
Description copied from interface:Constraint
Returns the Object the query graph was constrained with to create thisConstraint
.- Specified by:
getObject
in interfaceConstraint
- Overrides:
getObject
in classQCon
- Returns:
- Object the constraining object.
-
greater
public Constraint greater()
Description copied from interface:Constraint
Sets the evaluation mode to >. For example:
query.constrain(Pilot.class); query.descend("points").constrain(101).greater()
will return all pilots with points > 101.- Specified by:
greater
in interfaceConstraint
- Overrides:
greater
in classQCon
- Returns:
- this
Constraint
to allow the chaining of method calls.
-
identity
public Constraint identity()
Description copied from interface:Constraint
Sets the evaluation mode to identity comparison. In this case only objects having the same database identity will be included in the result set. For example:
Pilot pilot = new Pilot("Test Pilot1", 100); Car car = new Car("Ferrari", pilot); container.store(car); Car otherCar = new Car("Ferrari", pilot); container.store(otherCar); Query query = container.query(); query.constrain(Car.class); // All cars having pilot with the same database identity // will be retrieved. query.descend("pilot").constrain(pilot).identity();
- Specified by:
identity
in interfaceConstraint
- Overrides:
identity
in classQCon
- Returns:
- this
Constraint
to allow the chaining of method calls.
-
byExample
public Constraint byExample()
Description copied from interface:Constraint
Set the evaluation mode to object comparison (query by example).- Specified by:
byExample
in interfaceConstraint
- Overrides:
byExample
in classQCon
- Returns:
- this to allow the chaining of method calls.
-
like
public Constraint like()
Description copied from interface:Constraint
Sets the evaluation mode to "like" comparison. This is a contains comparison which is case insensitive. This only works on strings. This mode will include all objects having the constrain expression somewhere inside the string field. For example:
Pilot pilot = new Pilot("Test Pilot1", 100); container.store(pilot); ... query.constrain(Pilot.class); // All pilots with the name containing "est" will be retrieved query.descend("name").constrain("est").like();
- Specified by:
like
in interfaceConstraint
- Overrides:
like
in classQCon
- Returns:
- this to allow the chaining of method calls.
-
smaller
public Constraint smaller()
Description copied from interface:Constraint
Sets the evaluation mode to <. For example:
query.constrain(Pilot.class); query.descend("points").constrain(101).smaller()
will return all pilots with points < 101.- Specified by:
smaller
in interfaceConstraint
- Overrides:
smaller
in classQCon
- Returns:
- this
Constraint
to allow the chaining of method calls.
-
startsWith
public Constraint startsWith(boolean caseSensitive)
Description copied from interface:Constraint
Sets the evaluation mode to string startsWith comparison. For example:
Pilot pilot = new Pilot("Test Pilot0", 100); container.store(pilot); ... query.constrain(Pilot.class); query.descend("name").constrain("Test").startsWith(true);
- Specified by:
startsWith
in interfaceConstraint
- Overrides:
startsWith
in classQCon
- Parameters:
caseSensitive
- comparison will be case sensitive if true, case insensitive otherwise- Returns:
- this to allow the chaining of method calls.
-
endsWith
public Constraint endsWith(boolean caseSensitive)
Description copied from interface:Constraint
Sets the evaluation mode to string endsWith comparison. For example:
Pilot pilot = new Pilot("Test Pilot0", 100); container.store(pilot); ...
query.constrain(Pilot.class); query.descend("name").constrain("T0").endsWith(false);- Specified by:
endsWith
in interfaceConstraint
- Overrides:
endsWith
in classQCon
- Parameters:
caseSensitive
- comparison will be case sensitive if true, case insensitive otherwise- Returns:
- this to allow the chaining of method calls.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
internalSetProcessedByIndex
protected void internalSetProcessedByIndex(QCandidates candidates)
- Overrides:
internalSetProcessedByIndex
in classQCon
-
canResolveByFieldIndex
protected boolean canResolveByFieldIndex()
- Specified by:
canResolveByFieldIndex
in classQCon
-
-