Package ubic.gemma.rest.util.args
Class AbstractEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>
- java.lang.Object
-
- ubic.gemma.rest.util.args.AbstractEntityArgService<T,S>
-
- All Implemented Interfaces:
EntityArgService<T,S>
- Direct Known Subclasses:
CompositeSequenceArgService,DatabaseEntryArgService,DatasetArgService,ExpressionAnalysisResultSetArgService,GeneArgService,PlatformArgService,QuantitationTypeArgService,TaxonArgService
public abstract class AbstractEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>> extends Object implements EntityArgService<T,S>
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractEntityArgService(S service)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TcheckEntity(AbstractEntityArg<?,T,S> entityArg, T entity)Checks whether the given object is null, and throws an appropriate exception if necessary.protected AbstractEntityArg<?,T,S>entityArgValueOf(Class<? extends AbstractEntityArg<?,T,S>> entityArgClass, String s)Invoke either a staticvalueOfmethod or a suitable constructor to instantiate the argument.protected Map<String,List<String>>getArgsByPropertyName(AbstractEntityArrayArg<T,S> entitiesArg)Given aAbstractEntityArrayArg, construct a mapping of properties it refers to values those properties are allowed to take in a filter.Class<? extends T>getElementClass()List<T>getEntities(AbstractEntityArg<?,T,S> entityArg)List<T>getEntities(AbstractEntityArrayArg<T,S> entitiesArg)TgetEntity(AbstractEntityArg<?,T,S> entityArg)Set<String>getFilterableProperties()List<Object>getFilterablePropertyAllowedValues(String p)Collection<org.springframework.security.access.ConfigAttribute>getFilterablePropertyConfigAttributes(String p)StringgetFilterablePropertyDescription(String p)booleangetFilterablePropertyIsUsingSubquery(String p)List<MessageSourceResolvable>getFilterablePropertyResolvableAllowedValuesLabels(String p)Class<?>getFilterablePropertyType(String p)<A> ubic.gemma.persistence.util.FiltersgetFilters(AbstractEntityArg<A,T,S> entityArg)ubic.gemma.persistence.util.FiltersgetFilters(AbstractEntityArrayArg<T,S> entitiesArg)ubic.gemma.persistence.util.FiltersgetFilters(FilterArg<T> filterArg)ubic.gemma.persistence.util.SortgetSort(SortArg<T> sortArg)
-
-
-
Constructor Detail
-
AbstractEntityArgService
protected AbstractEntityArgService(S service)
-
-
Method Detail
-
getElementClass
public Class<? extends T> getElementClass()
- Specified by:
getElementClassin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
BaseReadOnlyService.getElementClass()
-
getFilterableProperties
public Set<String> getFilterableProperties()
- Specified by:
getFilterablePropertiesin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterableProperties()
-
getFilterablePropertyType
public Class<?> getFilterablePropertyType(String p)
- Specified by:
getFilterablePropertyTypein interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterablePropertyType(String)
-
getFilterablePropertyDescription
public String getFilterablePropertyDescription(String p)
- Specified by:
getFilterablePropertyDescriptionin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterablePropertyDescription(String)
-
getFilterablePropertyAllowedValues
public List<Object> getFilterablePropertyAllowedValues(String p)
- Specified by:
getFilterablePropertyAllowedValuesin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterablePropertyAllowedValues(String)
-
getFilterablePropertyResolvableAllowedValuesLabels
public List<MessageSourceResolvable> getFilterablePropertyResolvableAllowedValuesLabels(String p)
- Specified by:
getFilterablePropertyResolvableAllowedValuesLabelsin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterablePropertyResolvableAllowedValuesLabels(String)
-
getFilterablePropertyIsUsingSubquery
public boolean getFilterablePropertyIsUsingSubquery(String p)
- Specified by:
getFilterablePropertyIsUsingSubqueryin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>
-
getFilterablePropertyConfigAttributes
public Collection<org.springframework.security.access.ConfigAttribute> getFilterablePropertyConfigAttributes(String p)
- Specified by:
getFilterablePropertyConfigAttributesin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- See Also:
FilteringService.getFilterablePropertyConfigAttributes(String)
-
getEntity
@Nonnull public T getEntity(AbstractEntityArg<?,T,S> entityArg) throws javax.ws.rs.NotFoundException, javax.ws.rs.BadRequestException
- Specified by:
getEntityin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.NotFoundExceptionjavax.ws.rs.BadRequestException
-
getEntities
public List<T> getEntities(AbstractEntityArg<?,T,S> entityArg) throws javax.ws.rs.NotFoundException, javax.ws.rs.BadRequestException
- Specified by:
getEntitiesin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.NotFoundExceptionjavax.ws.rs.BadRequestException
-
getEntities
public List<T> getEntities(AbstractEntityArrayArg<T,S> entitiesArg) throws javax.ws.rs.NotFoundException, javax.ws.rs.BadRequestException
- Specified by:
getEntitiesin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.NotFoundExceptionjavax.ws.rs.BadRequestException
-
getFilters
public <A> ubic.gemma.persistence.util.Filters getFilters(AbstractEntityArg<A,T,S> entityArg) throws javax.ws.rs.BadRequestException
- Specified by:
getFiltersin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.BadRequestException
-
getFilters
public ubic.gemma.persistence.util.Filters getFilters(AbstractEntityArrayArg<T,S> entitiesArg) throws javax.ws.rs.BadRequestException
- Specified by:
getFiltersin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.BadRequestException
-
getArgsByPropertyName
protected Map<String,List<String>> getArgsByPropertyName(AbstractEntityArrayArg<T,S> entitiesArg)
Given aAbstractEntityArrayArg, construct a mapping of properties it refers to values those properties are allowed to take in a filter.
-
getFilters
public ubic.gemma.persistence.util.Filters getFilters(FilterArg<T> filterArg) throws javax.ws.rs.BadRequestException
- Specified by:
getFiltersin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.BadRequestException
-
getSort
public ubic.gemma.persistence.util.Sort getSort(SortArg<T> sortArg) throws javax.ws.rs.BadRequestException
- Specified by:
getSortin interfaceEntityArgService<T extends ubic.gemma.model.common.Identifiable,S extends ubic.gemma.persistence.service.FilteringService<T>>- Throws:
javax.ws.rs.BadRequestException
-
checkEntity
protected T checkEntity(AbstractEntityArg<?,T,S> entityArg, @Nullable T entity) throws javax.ws.rs.NotFoundException
Checks whether the given object is null, and throws an appropriate exception if necessary.- Parameters:
entity- the object that should be checked for being null.- Returns:
- the same object as given.
- Throws:
javax.ws.rs.NotFoundException- if the given entity is null.
-
entityArgValueOf
protected AbstractEntityArg<?,T,S> entityArgValueOf(Class<? extends AbstractEntityArg<?,T,S>> entityArgClass, String s) throws javax.ws.rs.BadRequestException
Invoke either a staticvalueOfmethod or a suitable constructor to instantiate the argument.- Throws:
javax.ws.rs.BadRequestException
-
-