|
SAP Convergent Charging
Java and XML APIs (Core) |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.highdeal.pnr.hci.SubscriberAccountModel
public class SubscriberAccountModel
This Java class specifies a subscriber account, a master data that represents an end customer (subscriber) who want to use a marketable service from a service provider;
The subscriber account includes a set of prepaid accounts with balances,
a set of information about of external (postpaid) accounts
and a set of credit limit balances which are debited when the customer uses services or credited when he makes refills.
A subscriber account is mandatory before to create a subscription (or a provider contract in the data model) for this end customer (subscriber).
A service provider is the owner of a subscriber account. It owns also a pricing catalog that includes pricing elements that are the basis
for a business agreement (subscription, provider contract) between the service provider and its end customers.
The owner (service provider) of the subscriber account is the owner of a catalog.
All the subscriptions assigned to a subscriber account
are subscriptions of commercial offers defined by this owner.
Notes
Caution
This data model is dedicated to the HCI technical interface that is relevant for implementing convergent charging services based on subscriptions.
Do not use this data model if your system landscape manages convergent charging services based on provider contracts created with the Web Services technical interface.
Tax settings can be defined for a subscriber account according to your business requirements.
Some additional information can be defined for a subscriber account by the client application you develop.
Additional information can be used to facilitate the management of the subscriber accounts in your CRM application or provisioning system.
CreateSubscriberAccountOp
SearchSubscriberAccountOp
ModifySubscriberAccountOp
DeleteSubscriberAccountOp
Consult the SAP CC Library about the master data related to the end customers:
PrepaidAccountModel,
ExternalAccountModel,
CreditLimitBalanceModel,
AdditionalInfoModel,
TaxInfoModel,
CreateSubscriberAccountOpThe XML APIs specify the following XSD fragment:
XSD Fragment
<xs:element name="subscriberAccount">
<xs:complexType>
<xs:sequence>
<xs:element ref="taxInfo" minOccurs="0" maxOccurs="1"/> <!-- Tax settings for this subscriber account -->
<xs:element name="defaultChargedAccount" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element ref="prepaidAccount" minOccurs="0" maxOccurs="1"/>
<xs:element ref="externalAccount" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="additionalInformation" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="prepaidAccount" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="externalAccount" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="creditLimitBalance" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="code" type="xs:string" use="required"/> <!-- is the code of this account -->
<xs:attribute name="reference" type="xs:string"/> <!-- is the reference of this account -->
<xs:attribute name="description" type="xs:string"/> <!-- is the description of this account -->
<xs:attribute name="serviceProvider" type="xs:string" use="required"/> <!-- is a catalog owner -->
<xs:attribute name="subscriber" type="xs:string" use="required"/> <!-- is the subscriber of this account -->
<xs:attribute name="prepaidBalanceTaxationType" default="taxExcluded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="taxIncluded"/> <!-- postpaid receivable account -->
<xs:enumeration value="taxExcluded"/> <!-- postpaid payable account (for partner)-->
</xs:restriction>
</xs:simpleType> <!-- the subscriber balance is tax included/excluded -->
</xs:attribute>
</xs:complexType>
</xs:element>
| Nested Class Summary | |
|---|---|
static class |
SubscriberAccountModel.DefaultChargedAccountType
|
| Field Summary | |
|---|---|
static java.lang.String |
SAP_CMA
The reserved name of Additional Info. |
static java.lang.String |
TAG_NAME
|
static int |
TAX_EXCLUDED
Type for postpaid tax included balance (default). |
static int |
TAX_INCLUDED
Type for postpaid tax excluded balance. |
| Constructor Summary | |
|---|---|
SubscriberAccountModel()
Creates a subscriber account; The new subscriber account has to be initialized invoking the methods. |
|
SubscriberAccountModel(java.lang.String reference,
java.lang.String serviceProvider,
java.lang.String code,
java.lang.String subscriber,
java.lang.String description,
TaxInfoModel taxInfo)
Initializes a subscriber account with its owner, its code and its subscriber |
|
SubscriberAccountModel(java.lang.String reference,
java.lang.String serviceProvider,
java.lang.String code,
java.lang.String subscriber,
java.lang.String description,
TaxInfoModel taxInfo,
int prepaidBalanceTaxationType)
Deprecated. |
|
| Method Summary | |
|---|---|
void |
accept(SubscriberAccountVisitor visitor)
|
void |
addAdditionalInfo(AdditionalInfoModel additionalInfo)
Adds a new additional info to this subscriber account; Do nothing if additionalInfo is null. |
void |
addCharacterData(java.lang.String cData)
Adds character data to the content element. |
void |
addChild(java.lang.String tagName,
XMLMarshallable child)
Adds a child to the object, the child representing
the marshallable object which must be added to the element. |
void |
addCreditLimitBalance(CreditLimitBalanceModel creditLimitBalance)
Adds a credit limit balance to this subscriber account; Do nothing if creditLimitBalance is null. |
void |
addExternalAccount(ExternalAccountModel externalAccount)
Adds a new external account to this subscriber account; Do nothing if externalAccount is null. |
void |
addPrepaidAccount(PrepaidAccountModel prepaidAccount)
Adds a new prepaid account to this subscriber account; Do nothing if prepaidAccount is null. |
AdditionalInfoModel |
getAdditionalInfo(int index)
Returns the additional info stored in this subscriber account at the specified index |
int |
getAdditionalInfoCount()
Returns the number of additional info of this subscriber account |
AdditionalInfoModel[] |
getAdditionalInfoList()
Returns the addtional info list of this subscriber account |
java.lang.String |
getCode()
Returns the code of this subscriber account |
CreditLimitBalanceModel |
getCreditLimitBalance(int index)
Returns the credit limit balance stored in this subscriber account at the specified index |
CreditLimitBalanceModel |
getCreditLimitBalanceByCode(java.lang.String code)
Returns the external account stored in this subscriber account with the specified code |
int |
getCreditLimitBalanceCount()
Returns the number of credit limit balance of this subscriber account |
CreditLimitBalanceModel[] |
getCreditLimitBalances()
Returns the credit limit balances of this subscriber account |
java.util.Iterator<CreditLimitBalanceModel> |
getCreditLimitIterator()
Returns an iterator over the credit limit balances of this subscriber account; Note that the iterator returned by this method will throw an UnsupportedOperationException in response to its remove method. |
SubscriberAccountModel.DefaultChargedAccountType |
getDefaultChargedAccountType()
Returns the type of the default charged account |
java.util.List<CreditLimitBalanceModel> |
getDefaultCreditLimitBalanceSnapshot()
Returns a snapshot of the default credit limit balances; This list will not be updated if some default credit limit balances are added or removed to this subscriber account. |
ExternalAccountModel |
getDefaultExternalAccount()
Returns the default charged account as an external account |
PrepaidAccountModel |
getDefaultPrepaidAccount()
Returns the default charged account as a prepaid account |
java.lang.String |
getDescription()
Returns a description about this subscriber account if already set |
ExternalAccountModel |
getExternalAccount(int index)
Returns the external account stored in this subscriber account at the specified index |
ExternalAccountModel |
getExternalAccountByCode(java.lang.String code)
Returns the external account stored in this subscriber account with the specified code |
int |
getExternalAccountCount()
Returns the number of external account info of this subscriber account |
java.util.Iterator<ExternalAccountModel> |
getExternalAccountIterator()
Returns an iterator over the external accounts of this subscriber account; Note that the iterator returned by this method will throw an UnsupportedOperationException in response to its remove method. |
ExternalAccountModel[] |
getExternalAccounts()
Returns the external accounts of this subscriber account |
PrepaidAccountModel |
getPrepaidAccount(int index)
Returns the prepaid account stored in this subscriber account at the specified index |
PrepaidAccountModel |
getPrepaidAccountByCode(java.lang.String code)
Returns the prepaid account stored in this subscriber account with the specified code |
int |
getPrepaidAccountCount()
Returns the number of prepaid account info of this subscriber account |
java.util.Iterator<PrepaidAccountModel> |
getPrepaidAccountIterator()
Returns an iterator over the prepaid accounts of this subscriber account; Note that the iterator returned by this method will throw an UnsupportedOperationException in response to its remove method. |
PrepaidAccountModel[] |
getPrepaidAccounts()
Returns the prepaid accounts of this subscriber account |
int |
getPrepaidBalanceTaxationType()
Deprecated. Deprecated since version 2.0 of SAP CC |
java.lang.String |
getReference()
Returns the reference of this subscriber account |
java.lang.String |
getServiceProvider()
Returns the service provider of this subscriber account |
java.lang.String |
getSubscriber()
Returns the subscriber of this subscriber account |
TaxInfoModel |
getTaxInfo()
Returns tax information about this subscriber account if already sets |
void |
marshal(XMLOutputter output)
Gives an XML representation of this object, including its children. |
boolean |
removeAdditionalInfo(AdditionalInfoModel additionalInfo)
Removes the specified additional info from this subscriber account |
AdditionalInfoModel |
removeAdditionalInfo(int index)
Removes the additional info at index position from this subscriber account |
boolean |
removeCreditLimitBalance(CreditLimitBalanceModel creditLimitBalance)
Removes the specified credit limit balance from this subscriber account |
CreditLimitBalanceModel |
removeCreditLimitBalance(int index)
Removed the credit limit balance stored in this subscriber account at the specified index |
boolean |
removeExternalAccount(ExternalAccountModel externalAccount)
Removes the specified external account from this subscriber account |
ExternalAccountModel |
removeExternalAccount(int index)
Removes the external account stored in this subscriber account at the specified index |
PrepaidAccountModel |
removePrepaidAccount(int index)
Removes the prepaid account stored in this subscriber account at the specified index |
boolean |
removePrepaidAccount(PrepaidAccountModel prepaidAccount)
Removes the specified prepaid account from this subscriber account |
void |
setAdditionalInfoList(AdditionalInfoModel[] infoList)
Replaces the additional info list of this subscriber account by the specified ones |
void |
setAttributes(XMLAttributes atts)
Sets the attributes of the XML representation of the element being processed. |
void |
setCode(java.lang.String code)
Sets the code of this subscriber account |
void |
setCreditLimitBalances(CreditLimitBalanceModel[] creditLimitBalances)
Replaces the credit limit balances of this subscriber account by the specified ones |
void |
setDefaultChargedAccount(ExternalAccountModel account)
Sets the default charged account to this subscriber with an external account; The default charged account is added to the list of the external accounts. |
void |
setDefaultChargedAccount(PrepaidAccountModel account)
Sets the default charged account to this subscriber with a prepaid account; The default charged account is added to the list of the prepaid accounts. |
void |
setDescription(java.lang.String description)
Sets the description about this subscriber account |
void |
setExternalAccounts(ExternalAccountModel[] accounts)
Replaces the external accounts of this subscriber account by the specified ones |
void |
setPrepaidAccounts(PrepaidAccountModel[] accounts)
Replaces the prepaid accounts of this subscriber account by the specified ones |
void |
setPrepaidBalanceTaxationType(int prepaidBalanceTaxationType)
Deprecated. Deprecated since version 2.0 of SAP CC |
void |
setReference(java.lang.String reference)
Sets the reference of this subscriber account |
void |
setServiceProvider(java.lang.String serviceProvider)
Sets the service provider of this subscriber account |
void |
setSubscriber(java.lang.String subscriber)
Sets the subscriber of this subscriber account |
void |
setTaxInfo(TaxInfoModel taxInfo)
Sets the tax information about this subscriber account |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int TAX_EXCLUDED
public static final int TAX_INCLUDED
public static final java.lang.String SAP_CMA
Additional Info.
public static final java.lang.String TAG_NAME
| Constructor Detail |
|---|
public SubscriberAccountModel()
public SubscriberAccountModel(java.lang.String reference,
java.lang.String serviceProvider,
java.lang.String code,
java.lang.String subscriber,
java.lang.String description,
TaxInfoModel taxInfo)
reference - The reference of this subscriber accountserviceProvider - The owner of this subscriber accountcode - The code of the subscriber accountsubscriber - The subscriber of the subscriber accountdescription - The description of the subscriber accounttaxInfo - The taxation information
@Deprecated
public SubscriberAccountModel(java.lang.String reference,
java.lang.String serviceProvider,
java.lang.String code,
java.lang.String subscriber,
java.lang.String description,
TaxInfoModel taxInfo,
int prepaidBalanceTaxationType)
reference - The reference of this subscriber accountserviceProvider - The owner of this subscriber accountcode - The code of the subscriber accountsubscriber - The subscriber of the subscriber accountdescription - The description of the subscriber accounttaxInfo - The taxation informationprepaidBalanceTaxationType - The prepaid balance is tax included or tax excluded| Method Detail |
|---|
public java.lang.String getReference()
public void setReference(java.lang.String reference)
reference - A referencepublic void setServiceProvider(java.lang.String serviceProvider)
serviceProvider - The service provider of this subscriber account (must not be null).public java.lang.String getServiceProvider()
null otherwise; It is the name of the pricing catalog owned by the service provider.public void setCode(java.lang.String code)
code - the code of this subscriber account (must not be null).public java.lang.String getCode()
null otherwise.public void setSubscriber(java.lang.String subscriber)
subscriber - The code of the subscriber account (must not be null).public java.lang.String getSubscriber()
null otherwise.public java.lang.String getDescription()
null otherwise.public void setDescription(java.lang.String description)
description - The description to be addedpublic TaxInfoModel getTaxInfo()
public void setTaxInfo(TaxInfoModel taxInfo)
taxInfo - The tax information settings to be added@Deprecated public int getPrepaidBalanceTaxationType()
@Deprecated public void setPrepaidBalanceTaxationType(int prepaidBalanceTaxationType)
prepaidBalanceTaxationType - The prepaid balance taxation type of this subscriberTAX_INCLUDED,
TAX_EXCLUDEDpublic void setDefaultChargedAccount(ExternalAccountModel account)
account - The default charged accountpublic void setDefaultChargedAccount(PrepaidAccountModel account)
account - The default charged accountpublic SubscriberAccountModel.DefaultChargedAccountType getDefaultChargedAccountType()
PREPAID_ACCOUNT_TYPE if the default charged account is a prepaid account,
EXTERNAL_ACCOUNT_TYPE if the default chagred account is an external account,
NO_DEFAULT if the default charged account is not specified yet.public ExternalAccountModel getDefaultExternalAccount()
null otherwise.public PrepaidAccountModel getDefaultPrepaidAccount()
null otherwise.public java.util.List<CreditLimitBalanceModel> getDefaultCreditLimitBalanceSnapshot()
public void addAdditionalInfo(AdditionalInfoModel additionalInfo)
additionalInfo - The additional information to be addedpublic boolean removeAdditionalInfo(AdditionalInfoModel additionalInfo)
additionalInfo - The additional information to be deleted
true if this subscriber account contains additionalInfo, false otherwise.public AdditionalInfoModel removeAdditionalInfo(int index)
index - The index of the additional info to be returned
java.lang.IndexOutOfBoundsException - if the index is greater than getAdditionalInfoCount() or negative.public int getAdditionalInfoCount()
public AdditionalInfoModel getAdditionalInfo(int index)
index - The index of the additional info to be returned
java.lang.IndexOutOfBoundsException - if the index is greater than getAdditionalInfoCount() or negative.public AdditionalInfoModel[] getAdditionalInfoList()
public void setAdditionalInfoList(AdditionalInfoModel[] infoList)
infoList - The new additional info listpublic void addPrepaidAccount(PrepaidAccountModel prepaidAccount)
prepaidAccount - The prepaid account to be addedpublic boolean removePrepaidAccount(PrepaidAccountModel prepaidAccount)
prepaidAccount - The prepaid account to be deleted
public PrepaidAccountModel removePrepaidAccount(int index)
index - The index of the prepaid account to be removed
java.lang.IndexOutOfBoundsException - if the index is greater than getPrepaidAccountCount() or negative.public int getPrepaidAccountCount()
public PrepaidAccountModel getPrepaidAccount(int index)
index - The index of the prepaid account to be returned
java.lang.IndexOutOfBoundsException - if the index is greater than getPrepaidAccountCount() or negative.public PrepaidAccountModel getPrepaidAccountByCode(java.lang.String code)
code - The code of the prepaid account to be returned
public java.util.Iterator<PrepaidAccountModel> getPrepaidAccountIterator()
public PrepaidAccountModel[] getPrepaidAccounts()
public void setPrepaidAccounts(PrepaidAccountModel[] accounts)
accounts - The new prepaid accountspublic void addExternalAccount(ExternalAccountModel externalAccount)
externalAccount - The external account to be addedpublic boolean removeExternalAccount(ExternalAccountModel externalAccount)
externalAccount - The external account to be deleted
public ExternalAccountModel removeExternalAccount(int index)
index - the index of the external account to be removed
java.lang.IndexOutOfBoundsException - if the index is greater than getExternalAccountCount() or negativepublic int getExternalAccountCount()
public ExternalAccountModel getExternalAccountByCode(java.lang.String code)
code - The code of the external account to be returned
public ExternalAccountModel getExternalAccount(int index)
index - the index of the external account to be returned
java.lang.IndexOutOfBoundsException - if the index is greater than getExternalAccountCount() or negativepublic java.util.Iterator<ExternalAccountModel> getExternalAccountIterator()
public ExternalAccountModel[] getExternalAccounts()
public void setExternalAccounts(ExternalAccountModel[] accounts)
accounts - The new external accountspublic void addCreditLimitBalance(CreditLimitBalanceModel creditLimitBalance)
creditLimitBalance - The credit limit to be addedpublic boolean removeCreditLimitBalance(CreditLimitBalanceModel creditLimitBalance)
creditLimitBalance - The credit limit balance to be deleted
public CreditLimitBalanceModel removeCreditLimitBalance(int index)
index - The index of the credit limit balance to be removed
java.lang.IndexOutOfBoundsException - if the index is greater than getCreditLimitBalanceCount() or negative.public int getCreditLimitBalanceCount()
public CreditLimitBalanceModel getCreditLimitBalance(int index)
index - The index of the credit limit balance to be returned
java.lang.IndexOutOfBoundsException - if the index is greater than getCreditLimitBalanceCount() or negative.public CreditLimitBalanceModel getCreditLimitBalanceByCode(java.lang.String code)
code - The code of the external account to be returned
public java.util.Iterator<CreditLimitBalanceModel> getCreditLimitIterator()
public CreditLimitBalanceModel[] getCreditLimitBalances()
public void setCreditLimitBalances(CreditLimitBalanceModel[] creditLimitBalances)
creditLimitBalances - The new credit limit balances
public void addChild(java.lang.String tagName,
XMLMarshallable child)
XMLMarshallablechild representing
the marshallable object which must be added to the element.
addChild in interface XMLMarshallabletagName - The name of tag for the childchild - The child to be addedpublic void setAttributes(XMLAttributes atts)
XMLMarshallable
setAttributes in interface XMLMarshallableatts - The XML attributes of the current elementpublic void addCharacterData(java.lang.String cData)
XMLMarshallable
addCharacterData in interface XMLMarshallablecData - The character data to be addedpublic void marshal(XMLOutputter output)
XMLMarshallable
marshal in interface XMLMarshallableoutput - The XML output to marshal the object into
public void accept(SubscriberAccountVisitor visitor)
throws InvalidSubscriberAccountException,
DisabledFeatureException
InvalidSubscriberAccountException
DisabledFeatureException
|
Document Published: October 2015 (SAP CC 4.0 SP10 and Later) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||