Package ubic.gemma.persistence.service
Class AbstractFilteringVoEnabledDao.FilterablePropertiesConfigurer
java.lang.Object
ubic.gemma.persistence.service.AbstractFilteringVoEnabledDao.FilterablePropertiesConfigurer
- Enclosing class:
AbstractFilteringVoEnabledDao<O extends Identifiable,VO extends IdentifiableValueObject<O>>
Configurer for filterable properties and their aliases.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddeprecateProperty(String propertyName) Deprecate the given property.voiddescribeProperty(String propertyName, String description) Provide a description for a given property.voidregisterEntity(String prefix, Class<? extends Identifiable> entityClass, int maxDepth) voidregisterEntity(String prefix, Class<? extends Identifiable> entityClass, int maxDepth, boolean useSubquery) Register an entity available at a given prefix.voidregisterObjectAlias(String prefix, String objectAlias, Class<? extends Identifiable> entityClass, String aliasFor, int maxDepth) voidregisterObjectAlias(String prefix, String objectAlias, Class<? extends Identifiable> entityClass, String aliasFor, int maxDepth, boolean useSubquery) Register an alias for a property.voidregisterProperties(String... propertyNames) Register all the given properties.voidregisterProperty(String propertyName) voidregisterProperty(String propertyName, boolean useSubquery) Register a given property.voidunregisterEntity(String prefix, Class<?> entityClass) Unregister an entity at a given prefix previously registered viaregisterEntity(String, Class, int).voidunregisterProperties(Predicate<? super String> predicate) Unregister all the properties matching the given predicate.voidunregisterProperty(String propertyName)
-
Constructor Details
-
FilterablePropertiesConfigurer
protected FilterablePropertiesConfigurer()
-
-
Method Details
-
registerProperty
-
registerProperty
Register a given property.- Throws:
IllegalArgumentException- if the property is already registered
-
registerProperties
Register all the given properties.- Throws:
IllegalArgumentException- if any of the given properties is already registered
-
unregisterProperty
- Throws:
IllegalArgumentException- if no properties match the given name
-
unregisterProperties
public void unregisterProperties(Predicate<? super String> predicate) throws IllegalArgumentException Unregister all the properties matching the given predicate.- Throws:
IllegalArgumentException- if no properties match the given predicate
-
deprecateProperty
Deprecate the given property.You should indicate a reason and a possible replacement with
describeProperty(String, String). -
describeProperty
Provide a description for a given property. -
registerEntity
public void registerEntity(String prefix, Class<? extends Identifiable> entityClass, int maxDepth) throws IllegalArgumentException - Throws:
IllegalArgumentException
-
registerEntity
public void registerEntity(String prefix, Class<? extends Identifiable> entityClass, int maxDepth, boolean useSubquery) throws IllegalArgumentException Register an entity available at a given prefix.This method recursively register the properties of a given entity up to the maximum depth.
- Parameters:
prefix- a prefix under which the entity is made availableentityClass- a class for the entity, which must be registered mapped by HibernatemaxDepth- maximum depth for visiting properties. For example, zero would expose no property but the entity itself, 1 would expose the properties of the alias, 2 would expose the properties of any entity directly related to the given entity, etc.useSubquery- whether to use a subquery when filtering by this entity (and its descendant)- Throws:
IllegalArgumentException- if no entity of the given type is registered under the given prefix or if the prefix is invalid
-
unregisterEntity
Unregister an entity at a given prefix previously registered viaregisterEntity(String, Class, int).Note that since
registerEntity(String, Class, int)works recursively, you can unregister an entity registered under a longer prefix. For example, if you registered anAnalysisunderanalysis., you can then unregister anExpressionExperimentunderanalysis.experimentAnalyzed.- Throws:
IllegalArgumentException- if no entity of the given type is registered under the given prefix or if the prefix is invalid
-
registerObjectAlias
public void registerObjectAlias(String prefix, @Nullable String objectAlias, Class<? extends Identifiable> entityClass, @Nullable String aliasFor, int maxDepth) - See Also:
-
registerObjectAlias
public void registerObjectAlias(String prefix, @Nullable String objectAlias, Class<? extends Identifiable> entityClass, @Nullable String aliasFor, int maxDepth, boolean useSubquery) Register an alias for a property.This also registers a property under the given prefix as per
registerEntity(String, Class, int).- Parameters:
objectAlias- internal alias used to refer to the entity as perFilter.getObjectAlias().- See Also:
-