001/*- 002 * #%L 003 * Smile CDR - CDR 004 * %% 005 * Copyright (C) 2016 - 2024 Smile CDR, Inc. 006 * %% 007 * All rights reserved. 008 * #L% 009 */ 010package ca.cdr.api.fhirgw.svc; 011 012import ca.cdr.api.fhirgw.json.BaseRouteJson; 013import ca.cdr.api.fhirgw.model.TargetMap; 014 015import java.util.Map; 016 017public interface IBaseOrchestrator<T extends BaseRouteJson<?>> { 018 019 /** 020 * To be called <b>during initialization only</b> to add a route to this orchestrator 021 * 022 * @param theTargets Key is the target ID, value is the target object 023 */ 024 void addRoute(T theRoute, Map<String, IFhirEndpointGatewayTarget> theTargets); 025 026 /** 027 * To be called <b>during initialization only</b> to provide the target definitions to the orchestrator 028 */ 029 void setTargets(TargetMap theTargets); 030}