001package ca.uhn.fhir.rest.server.interceptor.consent;
002
003/*-
004 * #%L
005 * HAPI FHIR - Server Framework
006 * %%
007 * Copyright (C) 2014 - 2022 Smile CDR, Inc.
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import ca.uhn.fhir.rest.api.server.RequestDetails;
024import ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException;
025import org.hl7.fhir.instance.model.api.IBaseResource;
026
027/**
028 * Implementation of {@link IConsentService} that forwards to another
029 * implementation of {@link IConsentService}. This class is mostly
030 * provided for testing purposes.
031 */
032public class DelegatingConsentService implements IConsentService {
033
034        private IConsentService myTarget;
035
036        @Override
037        public ConsentOutcome startOperation(RequestDetails theRequestDetails, IConsentContextServices theContextServices) {
038                return myTarget.startOperation(theRequestDetails, theContextServices);
039        }
040
041        @Override
042        public ConsentOutcome canSeeResource(RequestDetails theRequestDetails, IBaseResource theResource, IConsentContextServices theContextServices) {
043                return myTarget.canSeeResource(theRequestDetails, theResource, theContextServices);
044        }
045
046        @Override
047        public ConsentOutcome willSeeResource(RequestDetails theRequestDetails, IBaseResource theResource, IConsentContextServices theContextServices) {
048                return myTarget.willSeeResource(theRequestDetails, theResource ,theContextServices);
049        }
050
051        @Override
052        public void completeOperationSuccess(RequestDetails theRequestDetails, IConsentContextServices theContextServices) {
053                myTarget.completeOperationSuccess(theRequestDetails, theContextServices);
054        }
055
056        @Override
057        public void completeOperationFailure(RequestDetails theRequestDetails, BaseServerResponseException theException, IConsentContextServices theContextServices) {
058                myTarget.completeOperationFailure(theRequestDetails, theException, theContextServices);
059        }
060
061        public void setTarget(IConsentService theTarget) {
062                myTarget = theTarget;
063        }
064}