Class BlockingCalculator
- java.lang.Object
-
- org.killbill.billing.junction.plumbing.billing.BlockingCalculator
-
public class BlockingCalculator extends Object
-
-
Constructor Summary
Constructors Constructor Description BlockingCalculator(BlockingInternalApi blockingApi)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<org.killbill.billing.junction.plumbing.billing.DisabledDuration>createBlockingDurations(Iterable<BlockingState> inputBundleEvents)protected BillingEventcreateNewDisableEvent(org.joda.time.DateTime disabledDurationStart, BillingEvent previousEvent)protected SortedSet<BillingEvent>createNewEvents(Iterable<org.killbill.billing.junction.plumbing.billing.DisabledDuration> disabledDuration, Iterable<BillingEvent> subscriptionBillingEvents, InternalTenantContext context)protected BillingEventcreateNewReenableEvent(org.joda.time.DateTime odEventTime, BillingEvent previousEvent)protected SortedSet<BillingEvent>eventsToRemove(Iterable<org.killbill.billing.junction.plumbing.billing.DisabledDuration> disabledDuration, Iterable<BillingEvent> subscriptionBillingEvents)booleaninsertBlockingEvents(SortedSet<BillingEvent> billingEvents, Set<UUID> skippedSubscriptions, Map<UUID,List<SubscriptionBase>> subscriptionsForAccount, VersionedCatalog catalog, org.joda.time.LocalDate cutoffDt, InternalTenantContext context)Given a set of billing events, add corresponding blocking (overdue) billing events.protected BillingEventprecedingActiveBillingEventForSubscription(org.joda.time.DateTime disabledDurationStart, Iterable<BillingEvent> subscriptionBillingEvents)
-
-
-
Constructor Detail
-
BlockingCalculator
@Inject public BlockingCalculator(BlockingInternalApi blockingApi)
-
-
Method Detail
-
insertBlockingEvents
public boolean insertBlockingEvents(SortedSet<BillingEvent> billingEvents, Set<UUID> skippedSubscriptions, Map<UUID,List<SubscriptionBase>> subscriptionsForAccount, VersionedCatalog catalog, @Nullable org.joda.time.LocalDate cutoffDt, InternalTenantContext context) throws CatalogApiException
Given a set of billing events, add corresponding blocking (overdue) billing events.- Parameters:
billingEvents- the original list of billing events to update (without overdue events)cutoffDt- an optional cutoffDt to filter out billing events- Throws:
CatalogApiException
-
eventsToRemove
protected SortedSet<BillingEvent> eventsToRemove(Iterable<org.killbill.billing.junction.plumbing.billing.DisabledDuration> disabledDuration, Iterable<BillingEvent> subscriptionBillingEvents)
-
createNewEvents
protected SortedSet<BillingEvent> createNewEvents(Iterable<org.killbill.billing.junction.plumbing.billing.DisabledDuration> disabledDuration, Iterable<BillingEvent> subscriptionBillingEvents, InternalTenantContext context) throws CatalogApiException
- Throws:
CatalogApiException
-
precedingActiveBillingEventForSubscription
protected BillingEvent precedingActiveBillingEventForSubscription(org.joda.time.DateTime disabledDurationStart, Iterable<BillingEvent> subscriptionBillingEvents)
-
createNewDisableEvent
protected BillingEvent createNewDisableEvent(org.joda.time.DateTime disabledDurationStart, BillingEvent previousEvent)
-
createNewReenableEvent
protected BillingEvent createNewReenableEvent(org.joda.time.DateTime odEventTime, BillingEvent previousEvent) throws CatalogApiException
- Throws:
CatalogApiException
-
createBlockingDurations
protected List<org.killbill.billing.junction.plumbing.billing.DisabledDuration> createBlockingDurations(Iterable<BlockingState> inputBundleEvents)
-
-