|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.neuclear.ledger.LedgerController
This is the abstract Ledger class that implementators of the NeuClear Ledger need to implement.
| Constructor Summary | |
LedgerController(java.lang.String id)
The unique id of the ledger |
|
| Method Summary | |
java.util.Date |
cancel(java.lang.String id)
|
abstract void |
close()
|
PostedTransaction |
complete(java.lang.String id,
double amount,
java.lang.String comment)
|
PostedTransaction |
complete(java.lang.String id,
java.lang.String origbook,
java.lang.String newbook,
double amount,
java.lang.String comment)
|
abstract boolean |
existsLedger(java.lang.String id)
|
abstract PostedHeldTransaction |
findHeldTransaction(java.lang.String idstring)
Searches for a Held Transaction based on its Transaction ID |
double |
getAvailableBalance(java.lang.String book)
|
abstract double |
getAvailableBalance(java.lang.String ledger,
java.lang.String book)
Calculate the available balance at a given time. |
double |
getBalance(java.lang.String book)
|
abstract double |
getBalance(java.lang.String ledger,
java.lang.String book)
Calculate the true accounting balance at a given time. |
abstract Book |
getBook(java.lang.String id)
|
long |
getBookCount()
|
abstract long |
getBookCount(java.lang.String ledger)
|
java.lang.String |
getId()
|
abstract Ledger |
getLedger(java.lang.String id)
|
double |
getTestBalance()
|
abstract double |
getTestBalance(java.lang.String ledger)
|
long |
getTransactionCount()
|
abstract long |
getTransactionCount(java.lang.String ledger)
|
abstract java.util.Date |
getTransactionTime(java.lang.String id)
Searches for a Transaction based on its Transaction ID |
abstract boolean |
heldTransactionExists(java.lang.String id)
|
PostedHeldTransaction |
hold(java.lang.String from,
java.lang.String to,
java.util.Date expiry,
double amount,
java.lang.String comment)
|
PostedHeldTransaction |
hold(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
java.util.Date expiry,
double amount,
java.lang.String comment)
|
boolean |
isBalanced()
|
boolean |
isBalanced(java.lang.String id)
|
abstract java.util.Date |
performCancelHold(PostedHeldTransaction hold)
Cancels a Held Transaction. |
abstract PostedTransaction |
performCompleteHold(PostedHeldTransaction hold,
Book origbook,
Book newbook,
double amount,
java.lang.String comment)
Completes a held transaction. |
abstract PostedTransaction |
performCompleteHold(PostedHeldTransaction hold,
double amount,
java.lang.String comment)
Completes a held transaction. |
abstract PostedHeldTransaction |
performHeldTransfer(UnPostedHeldTransaction trans)
The basic interface for creating Transactions in the database. |
abstract PostedTransaction |
performTransaction(UnPostedTransaction trans)
The basic interface for creating Transactions in the database. |
abstract PostedTransaction |
performVerifiedTransfer(UnPostedTransaction trans)
Similar to a transaction but guarantees that there wont be any negative balances left after the transaction. |
abstract Book |
registerBook(java.lang.String id,
java.lang.String nickname,
java.lang.String type,
java.lang.String source,
java.lang.String registrationid)
Register a Book in the system |
abstract Ledger |
registerLedger(java.lang.String id,
java.lang.String nickname,
java.lang.String type,
java.lang.String source,
java.lang.String registrationid,
java.lang.String unit,
int decimal)
|
abstract void |
setHeldReceiptId(java.lang.String id,
java.lang.String receipt)
|
abstract void |
setReceiptId(java.lang.String id,
java.lang.String receipt)
|
java.lang.String |
toString()
|
abstract boolean |
transactionExists(java.lang.String id)
|
PostedTransaction |
transfer(java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
|
PostedTransaction |
transfer(java.lang.String ledger,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
|
PostedTransaction |
transfer(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
|
PostedTransaction |
verifiedTransfer(java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
|
PostedTransaction |
verifiedTransfer(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public LedgerController(java.lang.String id)
id - | Method Detail |
public abstract boolean existsLedger(java.lang.String id)
public abstract PostedTransaction performTransaction(UnPostedTransaction trans)
throws UnBalancedTransactionException,
LowlevelLedgerException,
InvalidTransactionException
trans - Transaction to perform
UnBalancedTransactionException
LowlevelLedgerException
InvalidTransactionException
public abstract PostedTransaction performVerifiedTransfer(UnPostedTransaction trans)
throws UnBalancedTransactionException,
LowlevelLedgerException,
InvalidTransactionException
trans - Transaction to perform
UnBalancedTransactionException
LowlevelLedgerException
InvalidTransactionException
public abstract PostedHeldTransaction performHeldTransfer(UnPostedHeldTransaction trans)
throws UnBalancedTransactionException,
LowlevelLedgerException,
InvalidTransactionException
trans - Transaction to perform
UnBalancedTransactionException
LowlevelLedgerException
InvalidTransactionException
public abstract java.util.Date performCancelHold(PostedHeldTransaction hold)
throws LowlevelLedgerException,
UnknownTransactionException
hold -
LowlevelLedgerException
UnknownTransactionException
public abstract PostedTransaction performCompleteHold(PostedHeldTransaction hold,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
TransactionExpiredException,
UnknownTransactionException
hold - HeldTransaction to completeamount - The updatd amount. It must be <= than the amount of the holdcomment -
InvalidTransactionException
LowlevelLedgerException
TransactionExpiredException
UnknownTransactionException
public abstract PostedTransaction performCompleteHold(PostedHeldTransaction hold,
Book origbook,
Book newbook,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
TransactionExpiredException,
UnknownTransactionException
hold - HeldTransaction to completeorigbook - Book to changenewbook - The new bookamount - The updatd amount. It must be <= than the amount of the holdcomment -
InvalidTransactionException
LowlevelLedgerException
TransactionExpiredException
UnknownTransactionException
public abstract java.util.Date getTransactionTime(java.lang.String id)
throws LowlevelLedgerException,
UnknownTransactionException
id - A valid ID
LowlevelLedgerException
UnknownTransactionException
public abstract double getBalance(java.lang.String ledger,
java.lang.String book)
throws LowlevelLedgerException
Example sql for implementors:
select c.credit - d.debit from
(
select sum(amount) as credit
from ledger
where transactiondate <= sysdate and end_date is null and credit= 'neu://BOB'
) c,
(
select sum(amount) as debit
from ledger
where transactiondate <= sysdate and end_date is null and debit= 'neu://BOB'
) d
LowlevelLedgerException
public double getBalance(java.lang.String book)
throws LowlevelLedgerException
LowlevelLedgerException
public abstract double getAvailableBalance(java.lang.String ledger,
java.lang.String book)
throws LowlevelLedgerException
select c.credit - d.debit from
(
select sum(amount) as credit
from ledger
where transactiondate <= sysdate and (end_date is null or end_date>= sysdate) and credit= 'neu://BOB'
) c,
(
select sum(amount) as debit
from ledger
where transactiondate <= sysdate and end_date is null and debit= 'neu://BOB'
) d
LowlevelLedgerException
public double getAvailableBalance(java.lang.String book)
throws LowlevelLedgerException
LowlevelLedgerException
public abstract long getBookCount(java.lang.String ledger)
throws LowlevelLedgerException
LowlevelLedgerException
public long getBookCount()
throws LowlevelLedgerException
LowlevelLedgerException
public abstract long getTransactionCount(java.lang.String ledger)
throws LowlevelLedgerException
LowlevelLedgerException
public long getTransactionCount()
throws LowlevelLedgerException
LowlevelLedgerException
public abstract boolean transactionExists(java.lang.String id)
throws LowlevelLedgerException
LowlevelLedgerException
public abstract boolean heldTransactionExists(java.lang.String id)
throws LowlevelLedgerException
LowlevelLedgerException
public abstract Book registerBook(java.lang.String id,
java.lang.String nickname,
java.lang.String type,
java.lang.String source,
java.lang.String registrationid)
throws LowlevelLedgerException
id - nickname - type - source - registrationid -
LowlevelLedgerException
public abstract Book getBook(java.lang.String id)
throws LowlevelLedgerException,
UnknownBookException
LowlevelLedgerException
UnknownBookException
public abstract Ledger registerLedger(java.lang.String id,
java.lang.String nickname,
java.lang.String type,
java.lang.String source,
java.lang.String registrationid,
java.lang.String unit,
int decimal)
throws LowlevelLedgerException
LowlevelLedgerException
public abstract Ledger getLedger(java.lang.String id)
throws LowlevelLedgerException,
UnknownLedgerException
LowlevelLedgerException
UnknownLedgerExceptionpublic java.lang.String toString()
public final java.lang.String getId()
public abstract PostedHeldTransaction findHeldTransaction(java.lang.String idstring)
throws LowlevelLedgerException,
UnknownTransactionException
idstring - A valid ID
LowlevelLedgerException
UnknownTransactionException
public abstract void setReceiptId(java.lang.String id,
java.lang.String receipt)
throws LowlevelLedgerException,
UnknownTransactionException
LowlevelLedgerException
UnknownTransactionException
public abstract void setHeldReceiptId(java.lang.String id,
java.lang.String receipt)
throws LowlevelLedgerException,
UnknownTransactionException
LowlevelLedgerException
UnknownTransactionException
public abstract double getTestBalance(java.lang.String ledger)
throws LowlevelLedgerException
LowlevelLedgerException
public final double getTestBalance()
throws LowlevelLedgerException
LowlevelLedgerException
public final boolean isBalanced()
throws LowlevelLedgerException
LowlevelLedgerException
public final boolean isBalanced(java.lang.String id)
throws LowlevelLedgerException
LowlevelLedgerException
public final PostedTransaction transfer(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
UnknownBookException
public final PostedTransaction transfer(java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
UnknownBookException
public final PostedTransaction transfer(java.lang.String ledger,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
UnknownBookException
public final PostedTransaction verifiedTransfer(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
InsufficientFundsException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
InsufficientFundsException
UnknownBookException
public final PostedTransaction verifiedTransfer(java.lang.String from,
java.lang.String to,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
InsufficientFundsException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
InsufficientFundsException
UnknownBookException
public final PostedHeldTransaction hold(java.lang.String ledger,
java.lang.String req,
java.lang.String from,
java.lang.String to,
java.util.Date expiry,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
InsufficientFundsException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
InsufficientFundsException
UnknownBookException
public final PostedHeldTransaction hold(java.lang.String from,
java.lang.String to,
java.util.Date expiry,
double amount,
java.lang.String comment)
throws InvalidTransactionException,
LowlevelLedgerException,
UnBalancedTransactionException,
InsufficientFundsException,
UnknownBookException
InvalidTransactionException
LowlevelLedgerException
UnBalancedTransactionException
InsufficientFundsException
UnknownBookException
public final java.util.Date cancel(java.lang.String id)
throws LowlevelLedgerException,
UnknownTransactionException
LowlevelLedgerException
UnknownTransactionException
public final PostedTransaction complete(java.lang.String id,
double amount,
java.lang.String comment)
throws LowlevelLedgerException,
UnknownTransactionException,
TransactionExpiredException,
InvalidTransactionException
LowlevelLedgerException
UnknownTransactionException
TransactionExpiredException
InvalidTransactionException
public final PostedTransaction complete(java.lang.String id,
java.lang.String origbook,
java.lang.String newbook,
double amount,
java.lang.String comment)
throws LowlevelLedgerException,
UnknownTransactionException,
TransactionExpiredException,
InvalidTransactionException,
UnknownBookException
LowlevelLedgerException
UnknownTransactionException
TransactionExpiredException
InvalidTransactionException
UnknownBookException
public abstract void close()
throws LowlevelLedgerException
LowlevelLedgerException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||