public class PayAccountsFile extends java.util.Observable implements IXMLEncodable, IBIConnectionListener, IMessageListener
<PayAccountsFile version="1.0"> <MainAccountNumber>123465</MainAccountNumber> <Accounts> <Account version="1.0"> <AccountCertificate>...</AccountCertificate> // Kontozertiufkat von der BI unterschrieben <RSAPrivateKey>...</RSAPrivateKey> //der geheime Schl?ssel zum Zugriff auf das Konto <TransferCertificates> //offenen Transaktionsummern .... </TransferCertifcates> <AccountInfo>...</AccountInfo> //Kontostand (siehe XMLAccountInfo) </Account> . . . </Accounts> </PayAccountsFile>
Modifier and Type | Class and Description |
---|---|
static class |
PayAccountsFile.AccountAlreadyExistingException
Thrown if an account with same account number was already existing when trying to add it.
|
static interface |
PayAccountsFile.IAffiliateOptOut |
Modifier and Type | Field and Description |
---|---|
static java.lang.Integer |
CHANGED_AUTO_UPDATE |
static java.lang.String |
METHOD_COUPON |
static java.lang.String |
MSG_ACTIVATING_COUPON |
static java.lang.String |
MSG_ACTIVATING_COUPON_ERROR |
static java.lang.String |
MSG_ACTIVATING_COUPON_NOT_A_NEW_USER |
static java.lang.String |
MSG_ACTIVATING_COUPON_NOT_ACCEPTED |
static java.lang.String |
MSG_CREATING_ACCOUNT |
static java.lang.String |
MSG_CREATING_ACCOUNT_ERROR |
static java.lang.String |
MSG_CREATING_ACCOUNT_ERROR_FORBIDDEN |
static java.lang.String |
MSG_CREATING_ACCOUNT_ERROR_UNREACHABLE |
static java.lang.String |
MSG_CREATING_KEY_PAIR |
static java.lang.String |
MSG_CREATING_KEY_PAIR_ERROR |
static java.lang.String |
MSG_DO_PREMIUM_PAYMENT |
static java.lang.String |
MSG_DO_PREMIUM_PAYMENT_ALTERNATIVE |
static java.lang.String |
MSG_ERROR_ALLOW_NON_ANONYMOUS_OR_CONNECT |
static java.lang.String |
MSG_ERROR_ALLOW_NON_ANONYMOUS_OR_CONNECT_INFOSERVICE |
static java.lang.String |
MSG_ERROR_DELETION_ACCOUNT_BLOCKED |
static java.lang.String |
MSG_GET_FREE_CODE |
static java.lang.String |
MSG_NO_PAYMENT_INSTANCE |
static java.lang.String |
MSG_PAY_CREATE_ACCOUNT |
static java.lang.String |
MSG_SAVING_CONFIG_FILE |
static java.lang.String |
MSG_SAVING_CONFIG_FILE_ERROR |
static java.lang.String |
MSG_UPDATING_ACCOUNT_DATA |
static java.lang.String |
MSG_UPDATING_ACCOUNT_DATA_ERROR |
static java.lang.String |
MSG_VERIFYING_COUPON |
static java.lang.String |
XML_ELEMENT_AFFILIATE |
static java.lang.String |
XML_ELEMENT_AFFILIATES |
static java.lang.String |
XML_ELEMENT_NAME |
FIELD_XML_ELEMENT_CONTAINER_NAME, FIELD_XML_ELEMENT_NAME, XML_ATTR_ID, XML_ATTR_LANGUAGE, XML_ATTR_VERSION
Modifier and Type | Method and Description |
---|---|
boolean |
activateCouponCode(java.lang.String a_code,
PayAccount a_account,
boolean a_bPreCheckOnly) |
void |
addAccount(PayAccount newAccount)
Adds a new account
|
void |
addMessageListener(IMessageListener listener) |
void |
addPaymentListener(IPaymentListener listener) |
PayAccount |
createAccount(PaymentInstanceDBEntry a_bi,
AsymmetricCryptoKeyPair a_keyPair,
XMLGenericText a_terms)
Creates a new Account.
|
PayAccount |
createAccount(PaymentInstanceDBEntry a_bi,
AsymmetricCryptoKeyPair a_keyPair,
XMLGenericText a_terms,
boolean a_bLock) |
PayAccount |
createAccount(PaymentInstanceDBEntry a_bi,
XMLGenericText a_terms) |
AsymmetricCryptoKeyPair |
createAccountKeyPair() |
AsymmetricCryptoKeyPair |
createAccountKeyPair(int a_keyLengthForTesting) |
void |
deleteAccount(PayAccount a_account)
Deletes the account from the accountsfile and saves the file to disk.
|
static void |
fireKnownMessages()
iterates over all accounts, and whenever there is a message it is sent to all MessageListeners
reason for existence: JapNewView needs to load all messages at start-up
(PayAccountsFile does already fire all message when it loads the accounts from the file, but that possibly happens before a MessageListener is
initialized and added as a listener to PayAccountsFile)
|
PayAccount |
getAccount(long accountNumber,
java.lang.String a_piid)
Liefert PayAccount zur angegebenen Kontonummer.
|
PayAccount |
getAccountAt(int rowIndex)
getAccountAt
|
java.util.Enumeration |
getAccounts()
Returns an enumeration of all accounts
|
java.util.Vector |
getAccounts(java.lang.String a_piid) |
PayAccount |
getAccountWaitingForTransaction(java.lang.String a_piid) |
PayAccount |
getActiveAccount() |
long |
getActiveAccountNumber() |
java.lang.String |
getAffiliate(java.lang.String a_strPIID,
boolean a_bForceAffiliate) |
PayAccount |
getAlternativeChargedAccount(java.lang.String a_piid) |
PaymentInstanceDBEntry |
getBI(java.lang.String a_piID) |
PayAccount |
getChargedAccount(java.lang.String a_piid) |
PayAccount |
getChargedAccount(java.lang.String a_piid,
PayAccount a_excludeAccount) |
static PayAccountsFile |
getInstance()
returns the one and only accountsfile.
|
int |
getNumAccounts()
getNumAccounts
|
java.util.Vector |
getPaymentInstances() |
java.util.Vector |
getPaymentInstances(boolean a_bProductiveOnly) |
void |
gotCaptcha(ICaptchaSender a_source,
IImageEncodedCaptcha a_captcha)
This method is called whenever a captcha has been received from the
Payment Instance.
|
boolean |
hasActiveAccount() |
boolean |
importAccounts(org.w3c.dom.Element elemAccountsFile,
IMiscPasswordReader a_passwordReader) |
boolean |
importAccounts(org.w3c.dom.Element elemAccountsFile,
IMiscPasswordReader a_passwordReader,
boolean a_bOnlyWithCorrectPassword) |
static boolean |
init(org.w3c.dom.Element elemAccountsFile,
IMiscPasswordReader a_passwordReader,
boolean a_bForceAIErrors,
int a_keyPoolSize,
PayAccountsFile.IAffiliateOptOut a_affiliateOptOut)
Performs the initialization.
|
boolean |
isAIAccountErrorIgnored()
Returns if error messages from the AI should be ignored.
|
boolean |
isBalanceAutoUpdateEnabled()
Returns if account balances are automatically updated.
|
boolean |
isInitialized()
isInitialized
|
boolean |
isNewUser() |
boolean |
isNewUserAllowed(java.lang.String a_code) |
static boolean |
isNewUserLetter(char a_startingLetter) |
static boolean |
isPromotionLetter(char a_startingLetter) |
void |
messageReceived(PayMessage message)
just passes through a received message to the PayAccountsFile's MessageListeners
|
void |
messageRemoved(PayMessage message) |
void |
removePaymentListener(IPaymentListener a_listener) |
void |
setActiveAccount(PayAccount a_account) |
void |
setBalanceAutoUpdateEnabled(boolean a_bEnable) |
void |
setIgnoreAIAccountError(boolean a_bIgnore)
Defined if error messages from the AI should be ignored.
|
void |
signalAccountError(XMLErrorMessage msg)
signalAccountError
|
void |
signalAccountRequest(MixCascade a_connectedCascade)
signalAccountRequest
|
org.w3c.dom.Element |
toXmlElement(org.w3c.dom.Document a_doc)
constructs the xml structure
|
org.w3c.dom.Element |
toXmlElement(org.w3c.dom.Document a_doc,
java.lang.String a_password,
boolean a_bDoNotDeactivate) |
public static final java.lang.String XML_ELEMENT_NAME
public static final java.lang.String METHOD_COUPON
public static final java.lang.String XML_ELEMENT_AFFILIATE
public static final java.lang.String XML_ELEMENT_AFFILIATES
public static final java.lang.Integer CHANGED_AUTO_UPDATE
public static final java.lang.String MSG_DO_PREMIUM_PAYMENT
public static final java.lang.String MSG_DO_PREMIUM_PAYMENT_ALTERNATIVE
public static final java.lang.String MSG_GET_FREE_CODE
public static final java.lang.String MSG_PAY_CREATE_ACCOUNT
public static final java.lang.String MSG_NO_PAYMENT_INSTANCE
public static final java.lang.String MSG_CREATING_KEY_PAIR
public static final java.lang.String MSG_CREATING_KEY_PAIR_ERROR
public static final java.lang.String MSG_UPDATING_ACCOUNT_DATA
public static final java.lang.String MSG_UPDATING_ACCOUNT_DATA_ERROR
public static final java.lang.String MSG_CREATING_ACCOUNT
public static final java.lang.String MSG_CREATING_ACCOUNT_ERROR
public static final java.lang.String MSG_CREATING_ACCOUNT_ERROR_UNREACHABLE
public static final java.lang.String MSG_CREATING_ACCOUNT_ERROR_FORBIDDEN
public static final java.lang.String MSG_SAVING_CONFIG_FILE
public static final java.lang.String MSG_SAVING_CONFIG_FILE_ERROR
public static final java.lang.String MSG_VERIFYING_COUPON
public static final java.lang.String MSG_ACTIVATING_COUPON
public static final java.lang.String MSG_ACTIVATING_COUPON_ERROR
public static final java.lang.String MSG_ACTIVATING_COUPON_NOT_ACCEPTED
public static final java.lang.String MSG_ACTIVATING_COUPON_NOT_A_NEW_USER
public static final java.lang.String MSG_ERROR_ALLOW_NON_ANONYMOUS_OR_CONNECT
public static final java.lang.String MSG_ERROR_ALLOW_NON_ANONYMOUS_OR_CONNECT_INFOSERVICE
public static final java.lang.String MSG_ERROR_DELETION_ACCOUNT_BLOCKED
public static PayAccountsFile getInstance()
init(BI, Element)
was not yet called,
you get an empty instance which is not really useful.public AsymmetricCryptoKeyPair createAccountKeyPair()
public AsymmetricCryptoKeyPair createAccountKeyPair(int a_keyLengthForTesting)
public void setIgnoreAIAccountError(boolean a_bIgnore)
a_bIgnore
- booleanpublic boolean isNewUser()
public boolean isBalanceAutoUpdateEnabled()
public void setBalanceAutoUpdateEnabled(boolean a_bEnable)
public boolean isAIAccountErrorIgnored()
public boolean importAccounts(org.w3c.dom.Element elemAccountsFile, IMiscPasswordReader a_passwordReader) throws XMLParseException, java.lang.Exception
XMLParseException
java.lang.Exception
public boolean importAccounts(org.w3c.dom.Element elemAccountsFile, IMiscPasswordReader a_passwordReader, boolean a_bOnlyWithCorrectPassword) throws XMLParseException, java.lang.Exception
XMLParseException
java.lang.Exception
public static boolean init(org.w3c.dom.Element elemAccountsFile, IMiscPasswordReader a_passwordReader, boolean a_bForceAIErrors, int a_keyPoolSize, PayAccountsFile.IAffiliateOptOut a_affiliateOptOut)
a_passwordReader
- a password reader for encrypted account files; message: AccountNumberpublic org.w3c.dom.Element toXmlElement(org.w3c.dom.Document a_doc)
toXmlElement
in interface IXMLEncodable
a_doc
- a documentpublic org.w3c.dom.Element toXmlElement(org.w3c.dom.Document a_doc, java.lang.String a_password, boolean a_bDoNotDeactivate)
public boolean hasActiveAccount()
public PayAccount getActiveAccount()
public void setActiveAccount(PayAccount a_account)
public long getActiveAccountNumber()
public PayAccount getAccount(long accountNumber, java.lang.String a_piid)
accountNumber
- KontonummerPayAccount
oder null, wenn kein Konto unter der angebenen
Kontonummer vorhanden istpublic void deleteAccount(PayAccount a_account)
accountNumber
- account numberpublic java.lang.String getAffiliate(java.lang.String a_strPIID, boolean a_bForceAffiliate)
public java.util.Enumeration getAccounts()
PayAccount
public static void fireKnownMessages()
public PayAccount getAlternativeChargedAccount(java.lang.String a_piid)
public PayAccount getAccountWaitingForTransaction(java.lang.String a_piid)
public PayAccount getChargedAccount(java.lang.String a_piid)
public PayAccount getChargedAccount(java.lang.String a_piid, PayAccount a_excludeAccount)
public java.util.Vector getAccounts(java.lang.String a_piid)
public void addAccount(PayAccount newAccount) throws PayAccountsFile.AccountAlreadyExistingException
account
- new accountjava.lang.Exception
- If the same account was already addedPayAccountsFile.AccountAlreadyExistingException
public int getNumAccounts()
public PayAccount getAccountAt(int rowIndex)
rowIndex
- intpublic boolean isInitialized()
public void addPaymentListener(IPaymentListener listener)
public void removePaymentListener(IPaymentListener a_listener)
public void addMessageListener(IMessageListener listener)
public PayAccount createAccount(PaymentInstanceDBEntry a_bi, XMLGenericText a_terms) throws java.lang.Exception
java.lang.Exception
public static boolean isNewUserLetter(char a_startingLetter)
public static boolean isPromotionLetter(char a_startingLetter)
public boolean isNewUserAllowed(java.lang.String a_code)
public boolean activateCouponCode(java.lang.String a_code, PayAccount a_account, boolean a_bPreCheckOnly) throws java.lang.Exception
java.lang.Exception
public PayAccount createAccount(PaymentInstanceDBEntry a_bi, AsymmetricCryptoKeyPair a_keyPair, XMLGenericText a_terms) throws java.lang.Exception
a_keyPair
- RSA should not be used at the momentjava.lang.Exception
public PayAccount createAccount(PaymentInstanceDBEntry a_bi, AsymmetricCryptoKeyPair a_keyPair, XMLGenericText a_terms, boolean a_bLock) throws java.lang.Exception
java.lang.Exception
public void signalAccountRequest(MixCascade a_connectedCascade) throws AccountEmptyException
AccountEmptyException
public void signalAccountError(XMLErrorMessage msg)
msg
- XMLErrorMessagepublic java.util.Vector getPaymentInstances(boolean a_bProductiveOnly)
public java.util.Vector getPaymentInstances()
public PaymentInstanceDBEntry getBI(java.lang.String a_piID)
public void gotCaptcha(ICaptchaSender a_source, IImageEncodedCaptcha a_captcha)
gotCaptcha
in interface IBIConnectionListener
a_source
- Objecta_captcha
- IImageEncodedCaptchapublic void messageReceived(PayMessage message)
messageReceived
in interface IMessageListener
public void messageRemoved(PayMessage message)
messageRemoved
in interface IMessageListener
Copyright © 2023. All rights reserved.