public class QueryBuilder
extends java.lang.Object
JqlQuery,
executed with Javers.findChanges(JqlQuery) and Javers.findSnapshots(JqlQuery)| Modifier and Type | Method | Description |
|---|---|---|
QueryBuilder |
andProperty(java.lang.String propertyName) |
Deprecated.
|
static QueryBuilder |
anyDomainObject() |
Query for selecting changes (or snapshots) made on any object.
|
JqlQuery |
build() |
|
QueryBuilder |
byAuthor(java.lang.String author) |
Only snapshots committed by a given author.
|
static QueryBuilder |
byClass(java.lang.Class... requiredClasses) |
Query for selecting changes (or snapshots) made on
any object (Entity or ValueObject) of given classes.
|
static QueryBuilder |
byGlobalId(GlobalIdDTO globalId) |
|
static QueryBuilder |
byInstance(java.lang.Object instance) |
Query for selecting changes (or snapshots) made on a concrete Entity instance.
|
static QueryBuilder |
byInstanceId(java.lang.Object localId,
java.lang.Class entityClass) |
Query for selecting changes (or snapshots) made on a concrete Entity instance.
|
static QueryBuilder |
byInstanceId(java.lang.Object localId,
java.lang.String typeName) |
Query for selecting changes (or snapshots) made on a concrete type identified by name.
|
static QueryBuilder |
byValueObject(java.lang.Class ownerEntityClass,
java.lang.String path) |
Query for selecting changes (or snapshots)
made on all ValueObjects at given path, owned by any instance of given Entity.
|
static QueryBuilder |
byValueObjectId(java.lang.Object ownerLocalId,
java.lang.Class ownerEntityClass,
java.lang.String path) |
Query for selecting changes (or snapshots) made on a concrete ValueObject
(so a ValueObject owned by a concrete Entity instance).
|
QueryBuilder |
from(java.time.LocalDate fromDate) |
delegates to
from(LocalDateTime) with MIDNIGHT |
QueryBuilder |
from(java.time.LocalDateTime from) |
Limits to snapshots created after this date or exactly at this date.
|
QueryBuilder |
limit(int limit) |
Limits number of Snapshots to be fetched from JaversRepository in a single query,
default is 100.
|
QueryBuilder |
skip(int skip) |
Sets the number of Snapshots to skip.
|
QueryBuilder |
to(java.time.LocalDate toDate) |
delegates to
to(LocalDateTime) with MIDNIGHT |
QueryBuilder |
to(java.time.LocalDateTime to) |
Limits to snapshots created before this date or exactly at this date.
|
QueryBuilder |
toCommitId(CommitId commitId) |
Only snapshots created before this commit or exactly in this commit.
|
QueryBuilder |
withChangedProperty(java.lang.String propertyName) |
Only snapshots which changed a given property.
|
QueryBuilder |
withChildValueObjects() |
Only for Snapshot and Changes queries.
|
QueryBuilder |
withChildValueObjects(boolean aggregate) |
Only for Snapshot and Changes queries, see
withChildValueObjects() |
QueryBuilder |
withCommitId(java.math.BigDecimal commitId) |
Delegates to
withCommitId(CommitId) |
QueryBuilder |
withCommitId(CommitId commitId) |
Only snapshots created in a given commit.
|
QueryBuilder |
withCommitIds(java.util.Collection<java.math.BigDecimal> commitIds) |
Only snapshots created in given commits.
|
QueryBuilder |
withCommitProperty(java.lang.String name,
java.lang.String value) |
Only snapshots with a given commit property.
|
QueryBuilder |
withNewObjectChanges() |
Affects changes query only.
|
QueryBuilder |
withNewObjectChanges(boolean newObjectChanges) |
See javadoc in
withNewObjectChanges() |
QueryBuilder |
withScopeCommitDeep() |
Selects
ShadowScope.COMMIT_DEEP for Shadow queries. |
QueryBuilder |
withScopeCommitDeepPlus() |
Deprecated.
renamed to
withScopeDeepPlus() ()} |
QueryBuilder |
withScopeCommitDeepPlus(int maxGapsToFill) |
Deprecated.
renamed to
withScopeDeepPlus(int) ()} |
QueryBuilder |
withScopeDeepPlus() |
Selects
ShadowScope.DEEP_PLUS
with maxGapsToFill defaulted to 10. |
QueryBuilder |
withScopeDeepPlus(int maxGapsToFill) |
Selects
ShadowScope.DEEP_PLUS with given maxGapsToFill. |
QueryBuilder |
withShadowScope(ShadowScope shadowScope) |
Choose between shallow, child-value-object, commit-deep or deep+ query scopes.
|
QueryBuilder |
withShadowScopeDeep() |
Deprecated.
|
QueryBuilder |
withSnapshotType(SnapshotType snapshotType) |
Selects only snapshots with a given type: initial, update or terminal.
|
QueryBuilder |
withSnapshotTypeUpdate() |
Selects only updating snapshots (without initial ones).
|
QueryBuilder |
withVersion(long version) |
Only snapshots with a given version.
|
public static QueryBuilder anyDomainObject()
javers.findChanges( QueryBuilder.anyDomainObject().build() );
public static QueryBuilder byClass(java.lang.Class... requiredClasses)
javers.findChanges( QueryBuilder.byClass(MyClass.class).build() );
public static QueryBuilder byInstanceId(java.lang.Object localId, java.lang.Class entityClass)
javers.findChanges( QueryBuilder.byInstanceId("bob", Person.class).build() );
public static QueryBuilder byInstanceId(java.lang.Object localId, java.lang.String typeName)
javers.findChanges( QueryBuilder.byInstanceId("bob", "Person").build() );
public static QueryBuilder byInstance(java.lang.Object instance)
javers.findChanges( QueryBuilder.byInstanceId(new Person("bob")).build() );
public static QueryBuilder byValueObject(java.lang.Class ownerEntityClass, java.lang.String path)
byValueObjectId(Object, Class, String).public static QueryBuilder byValueObjectId(java.lang.Object ownerLocalId, java.lang.Class ownerEntityClass, java.lang.String path)
class Employee {
@Id String name;
Address primaryAddress;
}
...
javers.findChanges( QueryBuilder.byValueObjectId("bob", Employee.class, "primaryAddress").build() );
When ValueObject is stored in a List, use propertyName and list index separated by "/", for example:
class Employee {
@Id String name;
List<Address> addresses;
}
...
javers.findChanges( QueryBuilder.byValueObjectId("bob", Employee.class, "addresses/0").build() );
When ValueObject is stored as a Map value, use propertyName and map key separated by "/", for example:
class Employee {
@Id String name;
Map<String,Address> addressMap;
}
...
javers.findChanges( QueryBuilder.byValueObjectId("bob", Employee.class, "addressMap/HOME").build() );
public static QueryBuilder byGlobalId(GlobalIdDTO globalId)
public QueryBuilder withChangedProperty(java.lang.String propertyName)
CdoSnapshot.getChanged()public QueryBuilder withNewObjectChanges(boolean newObjectChanges)
withNewObjectChanges()public QueryBuilder withNewObjectChanges()
public QueryBuilder withSnapshotType(SnapshotType snapshotType)
javers.findSnapshots(QueryBuilder.byClass(SnapshotEntity)
.withChangedProperty("someProperty")
.withSnapshotTypeUpdate().build())
public QueryBuilder withSnapshotTypeUpdate()
public QueryBuilder withChildValueObjects(boolean aggregate)
withChildValueObjects()public QueryBuilder withChildValueObjects()
ShadowScope.CHILD_VALUE_OBJECT).public QueryBuilder limit(int limit)
public QueryBuilder skip(int skip)
Javers.findShadowsAndStream(JqlQuery)
with Stream.skip(long) and Stream.limit(long).
public QueryBuilder from(java.time.LocalDateTime from)
to(LocalDateTime)public QueryBuilder to(java.time.LocalDateTime to)
public QueryBuilder withCommitId(CommitId commitId)
public QueryBuilder withCommitId(java.math.BigDecimal commitId)
withCommitId(CommitId)public QueryBuilder withCommitIds(java.util.Collection<java.math.BigDecimal> commitIds)
public QueryBuilder toCommitId(CommitId commitId)
public QueryBuilder from(java.time.LocalDate fromDate)
from(LocalDateTime) with MIDNIGHTpublic QueryBuilder to(java.time.LocalDate toDate)
to(LocalDateTime) with MIDNIGHTpublic QueryBuilder withCommitProperty(java.lang.String name, java.lang.String value)
public QueryBuilder withVersion(long version)
public QueryBuilder withShadowScope(ShadowScope shadowScope)
ShadowScope.SHALLOW.
Javers.findShadows(JqlQuery) javadoc.
public QueryBuilder withScopeCommitDeep()
ShadowScope.COMMIT_DEEP for Shadow queries.
Javers.findShadows(JqlQuery) javadoc.public QueryBuilder withScopeDeepPlus()
ShadowScope.DEEP_PLUS
with maxGapsToFill defaulted to 10.
Javers.findShadows(JqlQuery) javadoc.
public QueryBuilder withScopeDeepPlus(int maxGapsToFill)
ShadowScope.DEEP_PLUS with given maxGapsToFill.
Javers.findShadows(JqlQuery) javadoc.
maxGapsToFill - Limits the number of referenced entity Shadows to be eagerly loaded.
The limit is global for a query. When it is exceeded,
references to other entities are nulled. Collections of entities may not be fully loaded.@Deprecated public QueryBuilder withScopeCommitDeepPlus()
withScopeDeepPlus() ()}@Deprecated public QueryBuilder withScopeCommitDeepPlus(int maxGapsToFill)
withScopeDeepPlus(int) ()}public QueryBuilder byAuthor(java.lang.String author)
public JqlQuery build()
@Deprecated public QueryBuilder withShadowScopeDeep()
withScopeCommitDeep()@Deprecated public QueryBuilder andProperty(java.lang.String propertyName)
withChangedProperty(String)