package gw.api.domain.financials uses java.util.Date uses java.util.List uses gw.api.extension.ExtensionInterfaces interface TransactionFinder { static final var instance : TransactionFinder = ExtensionInterfaces.TransactionFinderFactory.newInstance() /** * Finds all posted Transactions related to the specified period that were not part of an Audit job. * This is equivalent to finding all transactions with a non-null PostedDate that belong to a PolicyPeriod with * the same PeriodId and which are not part of an Audit job. * * @param currentPeriod the period to query against * @return a List of all posted Transactions related to this same period that are not part of an Audit job */ function findPostedNonAuditTransactions( currentPeriod : PolicyPeriod ) : List /** * Finds all posted Transactions on premium report jobs for this period that fall within the given date range. * * @param currentPeriod the period to query against * @param start the start date to bound against * @param end the end date to bound against * @return a List of all posted Transactions related to premium reports for this same period that fall within the given date range */ function findPostedPremiumReportTransactions( currentPeriod : PolicyPeriod, start : Date, end : Date ) : List /** * Finds all posted Transactions related to the specified period. This is equivalent to finding * all transactions with a non-null PostedDate that belong to a PolicyPeriod with the same PeriodId. * * @param currentPeriod the period to query against * @return a List of all posted Transactions related to this same period */ function findPostedTransactions( currentPeriod : PolicyPeriod ) : List /** * Finds all posted Transactions that were posted prior to the given period's creation. * * @param currentPeriod the period to query against * @return a List of all posted Transactions related to this same period that were posted before the currentPeriod * was created */ function findPreviouslyPostedTransactions( currentPeriod : PolicyPeriod ) : List }