|
db4o 7.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Constraint
constraint to limit the objects returned upon
query execution
.
Constraints are constructed by calling
Query.constrain(Object)
.
Constraints can be joined with the methods and(com.db4o.query.Constraint)
and or(com.db4o.query.Constraint)
.
The methods to modify the constraint evaluation algorithm may
be merged, to construct combined evaluation rules.
Examples:
Constraint#smaller().equal()
for "smaller or equal" Constraint#not().like()
for "not like" Constraint#not().greater().equal()
for "not greater or equal"
Method Summary | |
---|---|
Constraint |
and(Constraint with)
links two Constraints for AND evaluation. |
Constraint |
byExample()
set the evaluation mode to object comparison (query by example). |
Constraint |
contains()
sets the evaluation mode to containment comparison. |
Constraint |
endsWith(boolean caseSensitive)
sets the evaluation mode to string endsWith comparison. |
Constraint |
equal()
Used in conjunction with smaller() or greater() to create constraints
like "smaller or equal", "greater or equal". |
java.lang.Object |
getObject()
returns the Object the query graph was constrained with to create this Constraint . |
Constraint |
greater()
sets the evaluation mode to > . |
Constraint |
identity()
sets the evaluation mode to identity comparison. |
Constraint |
like()
sets the evaluation mode to "like" comparison. |
Constraint |
not()
turns on not() comparison. |
Constraint |
or(Constraint with)
links two Constraints for OR evaluation. |
Constraint |
smaller()
sets the evaluation mode to < . |
Constraint |
startsWith(boolean caseSensitive)
sets the evaluation mode to string startsWith comparison. |
Method Detail |
---|
Constraint and(Constraint with)
query.constrain(Pilot.class);
query.descend("points").constrain(101).smaller().and(query.descend("name").constrain("Test Pilot0"));
with
- the other Constraint
Constraint
, that can be used for further calls
to and()
and or()
Constraint or(Constraint with)
query.constrain(Pilot.class);
query.descend("points").constrain(101).greater().or(query.descend("name").constrain("Test Pilot0"));
with
- the other Constraint
Constraint
, that can be used for further calls
to and()
and or()
Constraint equal()
smaller()
or greater()
to create constraints
like "smaller or equal", "greater or equal".
For example:query.constrain(Pilot.class);
query.descend("points").constrain(101).smaller().equal();
Constraint
to allow the chaining of method calls.Constraint greater()
>
.
For example:query.constrain(Pilot.class);
query.descend("points").constrain(101).greater()
Constraint
to allow the chaining of method calls.Constraint smaller()
<
.
For example:query.constrain(Pilot.class);
query.descend("points").constrain(101).smaller()
Constraint
to allow the chaining of method calls.Constraint identity()
Pilot pilot = new Pilot("Test Pilot1", 100);
Car car = new Car("BMW", pilot);
container.set(car);
// Change the name, the pilot instance stays the same
pilot.setName("Test Pilot2");
// create a new car
car = new Car("Ferrari", pilot);
container.set(car);
Query query = container.query();
query.constrain(Car.class);
// All cars having pilot with the same database identity
// will be retrieved. As we only created Pilot object once
// it should mean all car objects
query.descend("_pilot").constrain(pilot).identity();
Constraint
to allow the chaining of method calls.Constraint byExample()
Constraint
to allow the chaining of method calls.Constraint like()
Pilot pilot = new Pilot("Test Pilot1", 100);
container.set(pilot);
...
query.constrain(Pilot.class);
// All pilots with the name containing "est" will be retrieved
query.descend("name").constrain("est").like();
Constraint
to allow the chaining of method calls.Constraint contains()
Pilot pilot1 = new Pilot("Test 1", 1);
list.add(pilot1);
Pilot pilot2 = new Pilot("Test 2", 2);
list.add(pilot2);
Team team = new Team("Ferrari", list);
container.set(team);
Query query = container.query();
query.constrain(Team.class);
query.descend("pilots").constrain(pilot2).contains();
like()
.
Constraint
to allow the chaining of method calls.Constraint startsWith(boolean caseSensitive)
Pilot pilot = new Pilot("Test Pilot0", 100);
container.set(pilot);
...
query.constrain(Pilot.class);
query.descend("name").constrain("Test").startsWith(true);
caseSensitive
- comparison will be case sensitive if true, case insensitive otherwise
Constraint
to allow the chaining of method calls.Constraint endsWith(boolean caseSensitive)
Pilot pilot = new Pilot("Test Pilot0", 100);
container.set(pilot);
...
query.constrain(Pilot.class);
query.descend("name").constrain("T0").endsWith(false);
caseSensitive
- comparison will be case sensitive if true, case insensitive otherwise
Constraint
to allow the chaining of method calls.Constraint not()
Pilot pilot = new Pilot("Test Pilot1", 100);
container.set(pilot);
...
query.constrain(Pilot.class);
query.descend("name").constrain("t0").endsWith(true).not();
Constraint
to allow the chaining of method calls.java.lang.Object getObject()
Constraint
.
|
db4o 7.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |