The evidence generator implements the Evidence2Compare interface at the service layer. Some custom evidence may not have a service layer, in which case it is possible to implement the interface at the facade or entity layer. To implement at the facade layer, it is necessary to have a separate facade for each evidence type since a single implementation cannot cater for multiple evidence types. There are no limitations for entities as the entity to evidence type relationship is one-to-one.
Here is a sample declaration of the Sample Sporting Activity Evidence2Compare implementation which lives on the SampleMaintainSportingActivity facade layer:
/** * Facade methods for the Sample Sporting Grant Activity * product. */ public class SampleMaintainSportingActivity extends curam.sample.facade.base.SampleMaintainSportingActivity implements Evidence2Compare { . . //___________________________________________________________ /** * Return details that will comprise the XML blob used to * populate the evidence comparison screen inside the * Evidence Broker. * * @param key Identifies an evidence entity * @return Evidence entity details */ public EvidenceComparisonDtls getComparisonData( EvidenceCaseKey key) throws AppException, InformationalException { } }