Interface CharacteristicReadService
- All Known Implementing Classes:
CharacteristicReadServiceImpl
Characteristic and Statement.
Phase 3 of the CharacteristicService decomposition (strangler fig). This
service houses the DAO-bound read cluster previously implemented directly on the
CharacteristicServiceImpl facade: browse, findExperimentsByUris,
findByParentClasses, findByUri, findBestByUri,
findByValueStartingWith, findByValueLike,
findByValueUriOrValueStartingWith, countByValueUri,
findValueGroupedByValueUri, getParents, findByCategoryStartingWith,
findByCategoryUri, findByAnyValue, findByAnyValueStartingWith,
findByAnyUri, findByPredicate, findByPredicateUri,
findByObject, and findByObjectUri. All methods delegate to
CharacteristicDao and StatementDao (with simple aggregation /
Hibernate-initialize wrapping where appropriate) and orchestrate no other collaborators.
Write-side methods (create, save, update, remove, plus
the inherited BaseService mutators) stay on the CharacteristicService
facade.
Callers should generally keep using CharacteristicService as the facade --
the facade delegates to this service. Direct injection is appropriate where a class
is logically read-only (REST endpoints, CLIs, browser controllers, intra-core readers).
ACL / @Secured annotations live on CharacteristicService (the
caller-facing facade interface); enforcement happens at the facade proxy boundary,
so this interface is intentionally unsecured.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbrowse(int start, int limit) Browse through the characteristics, excluding GO annotations.Browse through the characteristics, excluding GO annotations.countByValueUri(Collection<String> uris, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) countExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, boolean includeCategories, Taxon taxon, Collection<Long> excludedExperimentIds) countExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, Taxon taxon, Collection<Long> excludedExperimentIds) findBestByUri(String uri) Find the best possible characteristic for a given URI.Collection<? extends Characteristic> findByAnyUri(String uri) Find a characteristic or statement by any URI it contains including its category, value, predicates and objects.Collection<? extends Characteristic> findByAnyValue(String value) Find a characteristic by any value it contains including its category, value, predicates and objects.Collection<? extends Characteristic> findByAnyValueStartingWith(String value) Find a characteristic by any value it contains including its category, value, predicates and objects that starts with the given query.findByCategoryStartingWith(String queryPrefix, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) findByCategoryUri(String query, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) findByObject(String value) findByObjectUri(String uri) findByParentClasses(Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, String category, int maxResults) Find characteristics that have a particular parent class or lack thereof.findByPredicate(String value) findByPredicateUri(String uri) findByUri(String uri, String category, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Looks for an exact match of the given string to a valueUri in the characteristic database.findByUriInAnySlot(String uri) findByValueLike(String search, String category, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Returns a collection of characteristics that have a value matching the given SQLLIKEpattern.findByValueStartingWith(String search, String category, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Returns a collection of characteristics that have a value starting with the given string.findByValueUriOrValueStartingWith(String search, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics that have a value (prefix) or value URI (exact match) matching the given string.findCategoryGroupedByCategoryUri(Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) findEeCountsByUriForOriginalValue(Collection<String> uris, String originalValue) findEeCountsByUriForOriginalValue(Collection<String> uris, String originalValue, Collection<Long> excludedExperimentIds) Map<Class<? extends Identifiable>, Map<String, Set<ExpressionExperiment>>> findExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, Taxon taxon, int limit, boolean loadEEs, boolean rankByLevel) findPriorCurationByOriginalValue(String originalValue, int maxResults, Collection<Long> excludedExperimentIds) findRepresentativeUsageByValueUris(Collection<String> valueUris) For each value URI, return one representative ACL-visible usage, or omit URIs with no accessible usage.findValueGroupedByValueUri(Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, boolean includePredicates, boolean includeObjects, int maxResults) getParents(Collection<Characteristic> characteristics, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, boolean thawParents)
-
Method Details
-
browse
Browse through the characteristics, excluding GO annotations. -
browse
Browse through the characteristics, excluding GO annotations. -
findExperimentsByUris
Map<Class<? extends Identifiable>, Map<String, Set<ExpressionExperiment>>> findExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, @Nullable Taxon taxon, int limit, boolean loadEEs, boolean rankByLevel) - See Also:
-
countExperimentsByUris
Map<String,Long> countExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, @Nullable Taxon taxon, Collection<Long> excludedExperimentIds) - See Also:
-
countExperimentsByUris
Map<String,Long> countExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, boolean includeCategories, @Nullable Taxon taxon, Collection<Long> excludedExperimentIds) - See Also:
-
findByParentClasses
Collection<Characteristic> findByParentClasses(@Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, @Nullable String category, int maxResults) Find characteristics that have a particular parent class or lack thereof. -
findByUri
Collection<Characteristic> findByUri(String uri, @Nullable String category, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Looks for an exact match of the given string to a valueUri in the characteristic database. -
findBestByUri
Find the best possible characteristic for a given URI. -
findRepresentativeUsageByValueUris
Map<String, CharacteristicDao.UsageExample> findRepresentativeUsageByValueUris(Collection<String> valueUris) For each value URI, return one representative ACL-visible usage, or omit URIs with no accessible usage.- See Also:
-
findByValueStartingWith
Collection<Characteristic> findByValueStartingWith(String search, @Nullable String category, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Returns a collection of characteristics that have a value starting with the given string. -
findByValueLike
Collection<Characteristic> findByValueLike(String search, @Nullable String category, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Returns a collection of characteristics that have a value matching the given SQLLIKEpattern. -
findByValueUriOrValueStartingWith
Map<String, Characteristic> findByValueUriOrValueStartingWith(String search, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics that have a value (prefix) or value URI (exact match) matching the given string. -
countByValueUri
Map<String,Long> countByValueUri(Collection<String> uris, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) -
findEeCountsByUriGroupedByCategory
-
findEeCountsByUriForOriginalValue
-
findEeCountsByUriForOriginalValue
Map<String,Long> findEeCountsByUriForOriginalValue(Collection<String> uris, String originalValue, Collection<Long> excludedExperimentIds) - See Also:
-
findPriorCurationByOriginalValue
List<CharacteristicDao.PriorCurationUsage> findPriorCurationByOriginalValue(String originalValue, int maxResults, Collection<Long> excludedExperimentIds) - See Also:
-
findValueGroupedByValueUri
Map<String,String> findValueGroupedByValueUri(@Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, boolean includePredicates, boolean includeObjects, int maxResults) - See Also:
-
findCategoryGroupedByCategoryUri
Map<String,String> findCategoryGroupedByCategoryUri(@Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) - See Also:
-
findByUriInAnySlot
- See Also:
-
findExperimentIdsByUriInAnySlot
- See Also:
-
getParents
Map<Characteristic, Identifiable> getParents(Collection<Characteristic> characteristics, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, boolean thawParents) - Parameters:
thawParents- if true, the parents will be initialized if they are proxies- See Also:
-
findByCategoryStartingWith
Collection<Characteristic> findByCategoryStartingWith(String queryPrefix, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) -
findByCategoryUri
Collection<Characteristic> findByCategoryUri(String query, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) -
findByAnyValue
Find a characteristic by any value it contains including its category, value, predicates and objects. -
findByAnyValueStartingWith
Find a characteristic by any value it contains including its category, value, predicates and objects that starts with the given query. -
findByAnyUri
Find a characteristic or statement by any URI it contains including its category, value, predicates and objects. -
findByPredicate
-
findByPredicateUri
-
findByObject
-
findByObjectUri
-