1 /* 2 * Copyright 2008 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.openehealth.ipf.commons.core.modules.api; 17 18 /** 19 * Validation interface. 20 * 21 * @author Christian Ohr 22 * 23 * @param <S> 24 * input format 25 * @param <P> 26 * profile class 27 */ 28 public interface Validator<S, P> { 29 30 /** 31 * @param message 32 * message to be validated 33 * @param profile 34 * profile to be validated against 35 * @throws ValidationException 36 * if the validation has failed due to non-conformance or 37 * internal errors 38 */ 39 void validate(final S message, final P profile); 40 41 42 }