/** * delegates to {@link #from(LocalDateTime)} with MIDNIGHT */ public QueryBuilder from(LocalDate fromDate) { return from(fromDate.atTime(MIDNIGHT)); }
/** * delegates to {@link #to(LocalDateTime)} with MIDNIGHT */ public QueryBuilder to(LocalDate toDate) { return to(toDate.atTime(MIDNIGHT)); }
/** * renamed to {@link #withChangedProperty(String)} * @deprecated */ @Deprecated public QueryBuilder andProperty(String propertyName) { return withChangedProperty(propertyName); } }
@Override public void handle(RepositoryMetadata repositoryMetadata, Object domainObjectOrId) { Map<String, String> props = commitPropertiesProvider.provide(); String author = authorProvider.provide(); if (isIdClass(repositoryMetadata, domainObjectOrId)) { if (javers.findSnapshots(QueryBuilder.byInstanceId(domainObjectOrId, repositoryMetadata.getDomainType()).build()).size() == 0) { return; } javers.commitShallowDeleteById(author, instanceId(domainObjectOrId, repositoryMetadata.getDomainType()), props); } else if (isDomainClass(repositoryMetadata, domainObjectOrId)) { if (javers.findSnapshots(QueryBuilder.byInstance(domainObjectOrId).build()).size() == 0) { return; } javers.commitShallowDelete(author, domainObjectOrId, props); } else { throw new IllegalArgumentException("Domain object or object id expected"); } }
/** * Query for selecting changes (or snapshots) made on any object. * <br/><br/> * * For example, last changes committed on any object can be fetched with: * <pre> * javers.findChanges( QueryBuilder.anyDomainObject().build() ); * </pre> * @since 2.0 */ public static QueryBuilder anyDomainObject(){ return new QueryBuilder(new AnyDomainObjectFilterDefinition()); }
/** * Selects {@link ShadowScope#COMMIT_DEEP} for Shadow queries. * <br/><br/> * * Read about query scopes in {@link Javers#findShadows(JqlQuery)} javadoc. * * @see <a href="http://javers.org/documentation/jql-examples/">http://javers.org/documentation/jql-examples</a> * @since 3.5 */ public QueryBuilder withScopeCommitDeep() { return withShadowScope(COMMIT_DEEP); }
/** * @deprecated renamed to {@link #withScopeDeepPlus()} ()} */ @Deprecated public QueryBuilder withScopeCommitDeepPlus() { return withScopeDeepPlus(); }
/** * Query for selecting changes (or snapshots) * made on all ValueObjects at given path, owned by any instance of given Entity. * <br/><br/> * * See <b>path</b> parameter hints in {@link #byValueObjectId(Object, Class, String)}. */ public static QueryBuilder byValueObject(Class ownerEntityClass, String path){ Validate.argumentsAreNotNull(ownerEntityClass, path); return new QueryBuilder(new VoOwnerFilterDefinition(ownerEntityClass, path)); }
/** * Selects {@link ShadowScope#DEEP_PLUS} * with <code></cpce>maxGapsToFill</code> defaulted to <b>10</b>. * <br/><br/> * * Read more about query scopes in {@link Javers#findShadows(JqlQuery)} javadoc. * <br/><br/> * * Only for Shadow queries. * * @see <a href="http://javers.org/documentation/jql-examples/">http://javers.org/documentation/jql-examples</a> * @since 3.5 */ public QueryBuilder withScopeDeepPlus() { return withShadowScope(DEEP_PLUS); }
/** * @deprecated renamed to {@link #withScopeDeepPlus(int)} ()} */ @Deprecated public QueryBuilder withScopeCommitDeepPlus(int maxGapsToFill) { return withScopeDeepPlus(maxGapsToFill); }
/** * Query for selecting changes (or snapshots) made on a concrete type identified by name. * <br/><br/> * * For example, last changes on "bob" Person: * <pre> * javers.findChanges( QueryBuilder.byInstanceId("bob", "Person").build() ); * </pre> */ public static QueryBuilder byInstanceId(Object localId, String typeName){ Validate.argumentsAreNotNull(localId, typeName); return new QueryBuilder(new IdAndTypeNameFilterDefinition(localId, typeName)); }
/** * Selects {@link ShadowScope#DEEP_PLUS} with given <code>maxGapsToFill</code>. * <br/><br/> * * Read more about Shadow query <b>scopes, profiling, and runtime statistics</b> * in {@link Javers#findShadows(JqlQuery)} javadoc. * <br/><br/> * * Only for Shadow queries. * * @param 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. * @see <a href="http://javers.org/documentation/jql-examples/">http://javers.org/documentation/jql-examples</a> * @since 3.5 */ public QueryBuilder withScopeDeepPlus(int maxGapsToFill) { this.maxGapsToFill = maxGapsToFill; return withShadowScope(DEEP_PLUS); }
/** * Query for selecting changes (or snapshots) made on * any object (Entity or ValueObject) of given classes. * <br/><br/> * * For example, last changes on any object of MyClass.class: * <pre> * javers.findChanges( QueryBuilder.byClass(MyClass.class).build() ); * </pre> */ public static QueryBuilder byClass(Class... requiredClasses){ return new QueryBuilder(new ClassFilterDefinition(Sets.asSet(requiredClasses))); }
/** * renamed to {@link #withScopeCommitDeep()} * @deprecated */ @Deprecated public QueryBuilder withShadowScopeDeep() { return withShadowScope(COMMIT_DEEP); }
public static QueryBuilder byGlobalId(GlobalIdDTO globalId){ Validate.argumentIsNotNull(globalId); return new QueryBuilder(new IdFilterDefinition(globalId)); }
/** * Query for selecting changes (or snapshots) made on a concrete Entity instance. * <br/><br/> * * For example, last changes on "bob" Person: * <pre> * javers.findChanges( QueryBuilder.byInstanceId(new Person("bob")).build() ); * </pre> * @Since 2.8.0 */ public static QueryBuilder byInstance(Object instance){ Validate.argumentsAreNotNull(instance); return new QueryBuilder(new InstanceFilterDefinition(instance)); }
/** * Query for selecting changes (or snapshots) made on a concrete Entity instance. * <br/><br/> * * For example, last changes on "bob" Person: * <pre> * javers.findChanges( QueryBuilder.byInstanceId("bob", Person.class).build() ); * </pre> */ public static QueryBuilder byInstanceId(Object localId, Class entityClass){ Validate.argumentsAreNotNull(localId, entityClass); return new QueryBuilder(new IdFilterDefinition(instanceId(localId, entityClass))); }
return new QueryBuilder(new IdFilterDefinition(ValueObjectIdDTO.valueObjectId(ownerLocalId, ownerEntityClass, path)));