@AccessLevel(value=EXTERNAL)
public interface FundConfigurationDetermination
A FundConfigurationDetermination class is used for determining a fund
configuration for a program fund. The default implementation of this
interface is provided by FundConfigurationDeterminationImpl. When creating an
obligation, the API of this interface is invoked to find the fund
configuration which is active on the creation date of the obligation.
The default implementation of this interface can be replaced with a new
custom implementation by creating a new Guice module class and adding a
corresponding entry in the MODULE table. Chapter 5 - Creating a Guice Module
in the Persistence Cookbook explains this in detail.
A new implementation of this interface is required to change the way a fund
configuration for a program fund is determined. For example, one may use a
different fund configuration rather than the fund configuration that is
active on the creation date of the obligation to determine the fund
configuration. For example, if the agencies want to change the logic for
applying the obligation to the fund configuration that is active during the
service period applicable to the obligation, then those agencies can
implement this interface to have their own logic to determine the fund
configuration.