Interface DifferentialExpressionResultReadService

All Known Implementing Classes:
DifferentialExpressionResultReadServiceImpl

public interface DifferentialExpressionResultReadService
Read-only retrieval service for DifferentialExpressionAnalysisResult.

Phase 3 of the DifferentialExpressionResultService decomposition (strangler fig). This service houses the row-level result read cluster previously implemented directly on the DifferentialExpressionResultServiceImpl facade: findByExperimentAnalyzed, findByGene (x2), findByGeneAndExperimentAnalyzedIds, findByGeneAndExperimentAnalyzed (x2), findGeneResultsByResultSetIdsAndGeneIds, findByResultSet, and findContrastsByAnalysisResultIds. All methods delegate to DifferentialExpressionResultDao and orchestrate no write-side collaborators.

Distinct from DifferentialExpressionAnalysisReadService, which is the analysis-level decomp; this service is the row-level result decomp.

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

See Also: