Interface BibliographicReferenceReadService

All Known Implementing Classes:
BibliographicReferenceReadServiceImpl

@ParametersAreNonnullByDefault public interface BibliographicReferenceReadService
Read-only retrieval service for BibliographicReference.

Phase 3 of the BibliographicReferenceService decomposition (strangler fig). This service houses the read cluster previously implemented directly on the BibliographicReferenceServiceImpl facade: browse, findByExternalId, findVOByExternalId, countDistinctWithRelatedExperiments, countWithRelatedExperiments, getRelatedExperiments, listAll, search, and thaw. Methods delegate to BibliographicReferenceDao (plus SearchService and ExpressionExperimentService where the original facade methods needed them to populate related-experiment VOs).

Write-side methods (create, save, update, remove, refresh, findOrCreate, plus the inherited BaseService mutators) stay on the BibliographicReferenceService facade.

Callers should generally keep using BibliographicReferenceService 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 BibliographicReferenceService (the caller-facing facade interface); enforcement happens at the facade proxy boundary, so this interface is intentionally unsecured.

See Also: