1 /* 2 * jDTAUS Banking SPI 3 * Copyright (C) 2005 Christian Schulte 4 * <cs@schulte.it> 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 * 20 */ 21 package org.jdtaus.banking.dtaus.spi; 22 23 import java.io.IOException; 24 import org.jdtaus.banking.dtaus.LogicalFile; 25 import org.jdtaus.banking.dtaus.Transaction; 26 27 /** 28 * Validates {@code Transaction} instances. 29 * <p>jDTAUS Banking SPI {@code TransactionValidator} specification to be used by implementations to validate 30 * {@code Transaction} instances to hold valid values.</p> 31 * 32 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 33 * @version $JDTAUS: TransactionValidator.java 8661 2012-09-27 11:29:58Z schulte $ 34 */ 35 public interface TransactionValidator 36 { 37 38 /** 39 * Checks a given {@code Transaction} instance to hold valid values for use with a given {@code LogicalFile}. 40 * 41 * @param lFile The logical file holding {@code transaction}. 42 * @param transaction The instance to check. 43 * @param result The validation result to be used or {@code null}. 44 * 45 * @return The validation result passed in as {@code result} (maybe {@code null} if the implementation did not 46 * detect illegal values). 47 * 48 * @throws NullPointerException if either {@code lFile} or {@code transaction} is {@code null}. 49 * @throws IOException if reading fails. 50 */ 51 IllegalTransactionException assertValidTransaction( LogicalFile lFile, Transaction transaction, 52 IllegalTransactionException result ) throws IOException; 53 54 }