...
An implementation of the SurplusContainerFetcher
interface is responsible for creation of SurplusContainer
objects. Bundle The used implementation is defined in the bundle parameter ROLLOVER.SURPLUS.FETCHER. Its value should be a name of the class that implements the SurplusContainerFetcher
interface. If the parameter is not present DefaultSurplusContainerFetcher
is used. It provides the functionality described on this page. The other option provided by the core is AllSubscriptionBundlesOnDate
that fetches all SubscriptionBundles
active on the charge date
Implementation Name | Logic | Notes |
---|---|---|
DefaultSurplusContainerFetcher | Implements the logic described on this page. | This implementation is used if the bundle parameter ROLLOVER.SURPLUS.FETCHER is not defined. Warning 1: This implementation only works if the subscription bundle's bundle uses the 'recurrence_id' when calculating the periods its subscription bundles cover. Behavior is undefined if it doesn't. Warning 2: This implementation only works if the subscription bundle's bundle is of the type {@link RolloverBundle}. A runtime exception is throw if it isn't. |
AllSubscriptionBundlesOnDate | Fetches all subscription bundles (for same subscription campaign and same bundle) that are active on the charge date. | Note: Only subscription bundles that already exist in the database are found by this implementation, no new subscription bundles will be created by this implementation. Warning: This implementation only works for subscription bundles that use the 'to_date' and 'from_date' fields to indicate the period it covers. Behavior is undefined if the 'period' field is used. |
Configuration
In order to configure DataBundle
, DurationBundle
, EventBundle
or ForwardBundle
to use rollover functionality the following parameters must be set up in the bundle's parameters and meta data:
...