Interface ExpressionExperimentSubSetReadService

All Known Implementing Classes:
ExpressionExperimentSubSetReadServiceImpl

public interface ExpressionExperimentSubSetReadService
Read-only retrieval service for ExpressionExperimentSubSet objects in the context of a parent ExpressionExperiment.

Phase 3 of the ExpressionExperimentService decomposition (strangler fig). This service houses the subset-retrieval cluster previously implemented directly on the ExpressionExperimentServiceImpl facade: getSubSets*, getSubSetById*, and the getSubSetsByFactorValue* variants. All methods delegate to ExpressionExperimentDao (and occasionally call Hibernate.initialize(Object) or Thaws for eager-loading) with no orchestration of write-side collaborators.

Callers should generally keep using ExpressionExperimentService as the facade — the facade delegates to this service. Direct injection is appropriate where a class would otherwise create a Spring construction cycle through the heavier facade.

ACL / @Secured annotations live on ExpressionExperimentService (the caller-facing facade interface); enforcement happens at the facade proxy boundary, so this interface is intentionally unsecured.

This service also houses the read methods that used to live on ExpressionExperimentSubSetService (the standalone subset CRUD service): findByBioAssayIn(Collection), getFactorValuesUsed(ExpressionExperimentSubSet, ExperimentalFactor), getFactorValuesUsedAsVO(Long, Long), getArrayDesignsUsed(ExpressionExperimentSubSet), loadSubSet(Long), loadSubSetWithBioAssays(Long). The standalone ExpressionExperimentSubSetService now delegates these reads here, keeping its facade ACL annotations in place.

See Also: