/** * 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()); }
/** * 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)); }
/** * 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)); }
/** * 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 * 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))); }
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("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)));