package ca.uhn.fhir.validation; import org.hl7.fhir.instance.model.api.IBaseResource; import ca.uhn.fhir.model.api.Bundle; /* * #%L * HAPI FHIR - Core Library * %% * Copyright (C) 2014 - 2017 University Health Network * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ /** * An individual validation module, which applies validation rules against * resources and adds failure/informational messages as it goes. * * See <a href="http://jamesagnew.github.io/hapi-fhir/doc_validation.html">Validation</a> * for a list of available modules. You may also create your own. */ public interface IValidatorModule { /** * Validate the actual resource. * * The {@link IValidationContext} can be used to access the resource being validated, * and is populated with the results. */ void validateResource(IValidationContext<IBaseResource> theCtx); /** * This method applies only to DSTU1 Atom Bundles. All other validation will pass through * {@link #validateResource(IValidationContext)} inclusing DSTU2+ Bundle resources. If you * will not be validating DSTU1 Bundles, you may implement this method as * a NO-OP. */ void validateBundle(IValidationContext<Bundle> theContext); }