public interface ExtensionBalance
Modifier and Type | Method and Description |
---|---|
java.util.Map<java.lang.Integer,java.lang.String> |
fetchBalanceDetails()
This method Fetches the balance numeric code and beCode
|
void |
generateSpendingLimitNotificationEvents(java.lang.String beCode,
UnitValue existingCurrBalanceWithConsumed,
UnitValue newCurrBalanceWithConsumed,
java.util.Collection<oracle.communication.brm.charging.config.offerprofile.OfferProfile> offerProfiles,
java.time.ZonedDateTime eventTime,
oracle.communication.brm.charging.extensions.client.notification.UpdateExtensionContext extensionContext)
This method Generates the Spending Limit Notification Event
|
void |
generateSpendingLimitNotificationEventsForPostCharging(java.lang.String beCode,
UnitValue existingCurrBalanceWithConsumed,
UnitValue newCurrBalanceWithConsumed,
java.util.Collection<oracle.communication.brm.charging.config.offerprofile.OfferProfile> offerProfiles,
java.time.ZonedDateTime eventTime,
PostChargingExtensionContext extensionContext)
This method Generates the Spending Limit Notification Event
|
java.util.Map<java.lang.String,oracle.communication.brm.charging.util.misc.Pair<UnitValue,UnitValue>> |
getAllRemainingBalance()
This method returns the map of remaining balances with key as balance resource code
the first value in the pair is remaining balance without credit limit cap; the second value is up to credit limit
|
UnitValue |
getAvailableBalance(java.lang.Integer numericCode)
This method calculates and returns the available balance valid at current usage
session start time.Calculates and returns the available balance.
|
UnitValue |
getAvailableBalance(java.lang.Integer numericCode,
java.lang.String sessionId,
java.time.ZonedDateTime sessionStartTime)
This method calculates and returns the available balance as applicable at the sessionStartTime passed.
|
UnitValue |
getAvailableBalance(java.lang.String beCode,
java.lang.String sessionId,
java.time.ZonedDateTime sessionStartTime) |
UnitValue |
getAvailableBalanceUpToCreditLimit(java.lang.Integer paramInteger)
This method returns the Available Balance UpTo CreditLimit
|
java.lang.String |
getBalanceId()
This method returns the extension balance Id
|
ExtensionBusinessProfile |
getBusinessProfileDetails()
This method returns the extension business profile object
|
oracle.communication.brm.charging.config.consumptionrule.ConsumptionRule |
getConsumptionRule(java.lang.String beCode)
Method to get the consumption rule for the given Balance Element
Get the BalanceItemSpec for this beCode and check if the consumptionRule is not null.
|
ExtensionCreditProfile |
getCreditProfileDetails()
This method returns the extension credit profile object that has the details
about the credit limits and thresholds.
|
int |
getCurrencyBalanceItemId()
Retrun the balanceElementId of the Currency resource.
|
UnitValue |
getCurrentBalance(java.lang.Integer numericCode,
java.time.ZonedDateTime sessionStartTime)
Returns the current balance for the given resource considering the balance items
valid during the specified validity range
|
UnitValue |
getOriginalBalance(java.lang.Integer numericCode)
This method calculates and returns the original balance valid at current usage
session start time.
|
java.lang.String |
getOwnerId()
This method returns the owner Id
|
UnitValue |
getRemainingBalance(java.lang.Integer numericCode)
This method returns the remaining balance valid at current usage
session start time.
|
UnitValue |
getRemainingBalanceUptoCreditLimit(java.lang.Integer numericCode)
This method returns the remaining balance valid at current usage
session start time capped at teh credit limit.
|
java.util.Collection<BalanceItem> |
getValidBalanceItems(java.lang.String beCode,
java.time.ZonedDateTime sessionStartTime)
Get the balance items that are valid for a given session start time
|
UnitValue getAvailableBalance(java.lang.Integer numericCode)
The balance state fetched is prior to applying current usage rating impacts.
numericCode
- balanceElement's unique numeric code (eg, 840, 978, etc..)UnitValue getAvailableBalance(java.lang.Integer numericCode, java.lang.String sessionId, java.time.ZonedDateTime sessionStartTime)
Note: The reserved amount already has the opposite sign (debit) as current balance (credit) and hence is 'added' in the code below. This method calls the utility method to perform the actual functionality
numericCode
- balanceElement's unique numeric code (eg, 840, 978, etc..)sessionId
- that identifies the current session, if null is supplied
then the result will be the total unreserved available balance.sessionStartTime
- the session start timeUnitValue getAvailableBalance(java.lang.String beCode, java.lang.String sessionId, java.time.ZonedDateTime sessionStartTime)
void generateSpendingLimitNotificationEvents(java.lang.String beCode, UnitValue existingCurrBalanceWithConsumed, UnitValue newCurrBalanceWithConsumed, java.util.Collection<oracle.communication.brm.charging.config.offerprofile.OfferProfile> offerProfiles, java.time.ZonedDateTime eventTime, oracle.communication.brm.charging.extensions.client.notification.UpdateExtensionContext extensionContext)
java.util.Map<java.lang.Integer,java.lang.String> fetchBalanceDetails()
UnitValue getOriginalBalance(java.lang.Integer numericCode)
The balance state fetched is prior to applying current usage rating impacts.
numericCode
- balanceElement's unique numeric code (eg, 840, 978, etc..)UnitValue getCurrentBalance(java.lang.Integer numericCode, java.time.ZonedDateTime sessionStartTime)
numericCode
- resource idsessionStartTime
- Session Start TimeUnitValue getRemainingBalance(java.lang.Integer numericCode)
numericCode
- balanceElement's unique numeric code (eg, 840, 978, etc..)UnitValue getRemainingBalanceUptoCreditLimit(java.lang.Integer numericCode)
numericCode
- balanceElement's unique numeric code (eg, 840, 978, etc..)java.util.Map<java.lang.String,oracle.communication.brm.charging.util.misc.Pair<UnitValue,UnitValue>> getAllRemainingBalance()
ExtensionCreditProfile getCreditProfileDetails()
ExtensionBusinessProfile getBusinessProfileDetails()
java.lang.String getBalanceId()
java.lang.String getOwnerId()
UnitValue getAvailableBalanceUpToCreditLimit(java.lang.Integer paramInteger)
void generateSpendingLimitNotificationEventsForPostCharging(java.lang.String beCode, UnitValue existingCurrBalanceWithConsumed, UnitValue newCurrBalanceWithConsumed, java.util.Collection<oracle.communication.brm.charging.config.offerprofile.OfferProfile> offerProfiles, java.time.ZonedDateTime eventTime, PostChargingExtensionContext extensionContext)
oracle.communication.brm.charging.config.consumptionrule.ConsumptionRule getConsumptionRule(java.lang.String beCode)
beCode
- Balance Element Codejava.util.Collection<BalanceItem> getValidBalanceItems(java.lang.String beCode, java.time.ZonedDateTime sessionStartTime)
beCode
- Impacted Balance Element CodesessionStartTime
- Session Start Timeint getCurrencyBalanceItemId()