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}