org.neuclear.asset
Class AssetController

java.lang.Object
  extended by org.neuclear.asset.AssetController
All Implemented Interfaces:
org.neuclear.id.receiver.Receiver
Direct Known Subclasses:
CurrencyController

public abstract class AssetController
extends java.lang.Object
implements org.neuclear.id.receiver.Receiver

This abstract class generalizes all actions that an AssetController must implement to manage Assets according to the NeuClear model. User: pelleb Date: Nov 6, 2003 Time: 3:53:17 PM


Constructor Summary
AssetController()
           
 
Method Summary
abstract  boolean canProcess(org.neuclear.id.Service asset)
          Verify that the assetName controller handles the given assetName
abstract  Asset getAsset()
           
abstract  AssetStatistics getStats()
           
abstract  Balance process(BalanceRequest request)
           
abstract  org.neuclear.exchange.orders.CancelExchangeReceipt process(org.neuclear.exchange.orders.CancelExchangeOrder cancel)
          Cancels a HeldTransfer.
abstract  org.neuclear.exchange.orders.ExchangeCompletedReceipt process(org.neuclear.exchange.orders.ExchangeCompletionOrder complete)
          Completes a HeldTransfer.
abstract  org.neuclear.exchange.orders.ExchangeOrderReceipt process(org.neuclear.exchange.orders.ExchangeOrder req)
          Creates a HeldTransfer.
abstract  History process(HistoryRequest request)
           
abstract  IssueReceipt process(IssueOrder req)
          Issues an asset.
abstract  TransferReceipt process(TransferOrder req)
          Performs an assetName transfer.
 org.neuclear.id.SignedNamedObject receive(org.neuclear.id.SignedNamedObject contract)
          Process the the request and returns and unsigned object for signing and sending.
protected abstract  org.neuclear.id.Identity register(org.neuclear.id.Identity identity, java.lang.String source)
           
 org.neuclear.id.Identity register(java.lang.String url)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssetController

public AssetController()
Method Detail

receive

public final org.neuclear.id.SignedNamedObject receive(org.neuclear.id.SignedNamedObject contract)
                                                throws org.neuclear.id.receiver.UnsupportedTransaction,
                                                       org.neuclear.commons.NeuClearException
Process the the request and returns and unsigned object for signing and sending.

Specified by:
receive in interface org.neuclear.id.receiver.Receiver
Parameters:
contract -
Returns:
Throws:
org.neuclear.id.receiver.UnsupportedTransaction
org.neuclear.commons.NeuClearException

register

protected abstract org.neuclear.id.Identity register(org.neuclear.id.Identity identity,
                                                     java.lang.String source)
                                              throws LowLevelPaymentException
Throws:
LowLevelPaymentException

canProcess

public abstract boolean canProcess(org.neuclear.id.Service asset)
Verify that the assetName controller handles the given assetName

Parameters:
asset -
Returns:
true if able to process

process

public abstract TransferReceipt process(TransferOrder req)
                                 throws LowLevelPaymentException,
                                        TransferDeniedException,
                                        InvalidTransferException,
                                        org.neuclear.commons.NeuClearException
Performs an assetName transfer.

Parameters:
req - TransferOrder
Returns:
Unsigned Receipt
Throws:
LowLevelPaymentException
TransferDeniedException
InvalidTransferException
org.neuclear.commons.NeuClearException

process

public abstract IssueReceipt process(IssueOrder req)
                              throws LowLevelPaymentException,
                                     TransferDeniedException,
                                     InvalidTransferException,
                                     org.neuclear.commons.NeuClearException
Issues an asset. Thus moving assets into circulation

Parameters:
req - IssueOrder
Returns:
Unsigned Receipt
Throws:
LowLevelPaymentException
TransferDeniedException
InvalidTransferException
org.neuclear.commons.NeuClearException

process

public abstract org.neuclear.exchange.orders.ExchangeOrderReceipt process(org.neuclear.exchange.orders.ExchangeOrder req)
                                                                   throws LowLevelPaymentException,
                                                                          TransferDeniedException,
                                                                          InvalidTransferException,
                                                                          org.neuclear.commons.NeuClearException
Creates a HeldTransfer. This gives the recipient right within a limited period to "complete" the Transfer. Completion means performing the actual transfer with an amount up to but not greater than the amount set in the HeldTransfer Object.

Parameters:
req - Valid ExchangeOrder
Returns:
Unsigned ExchangeOrderReceiptBuilder
Throws:
LowLevelPaymentException
TransferDeniedException
InvalidTransferException
org.neuclear.commons.NeuClearException

process

public abstract org.neuclear.exchange.orders.ExchangeCompletedReceipt process(org.neuclear.exchange.orders.ExchangeCompletionOrder complete)
                                                                       throws LowLevelPaymentException,
                                                                              TransferDeniedException,
                                                                              InvalidTransferException,
                                                                              org.neuclear.commons.NeuClearException
Completes a HeldTransfer. This must be signed by the recipient of the HeldTransfer.

Parameters:
complete -
Returns:
Unsigned TransferReceiptBuilder
Throws:
LowLevelPaymentException
TransferDeniedException - x
InvalidTransferException
org.neuclear.commons.NeuClearException

process

public abstract org.neuclear.exchange.orders.CancelExchangeReceipt process(org.neuclear.exchange.orders.CancelExchangeOrder cancel)
                                                                    throws LowLevelPaymentException,
                                                                           TransferDeniedException,
                                                                           InvalidTransferException,
                                                                           org.neuclear.commons.NeuClearException
Cancels a HeldTransfer. This must be signed by the recipient of the HeldTransfer.

Parameters:
cancel -
Returns:
Unsigned CancelExchangeReceiptBuilder
Throws:
LowLevelPaymentException
TransferDeniedException
InvalidTransferException
org.neuclear.commons.NeuClearException

getAsset

public abstract Asset getAsset()

getStats

public abstract AssetStatistics getStats()
                                  throws org.neuclear.ledger.LowlevelLedgerException
Throws:
org.neuclear.ledger.LowlevelLedgerException

register

public org.neuclear.id.Identity register(java.lang.String url)
                                  throws LowLevelPaymentException,
                                         org.neuclear.id.NameResolutionException,
                                         org.neuclear.id.InvalidNamedObjectException
Throws:
LowLevelPaymentException
org.neuclear.id.NameResolutionException
org.neuclear.id.InvalidNamedObjectException

process

public abstract Balance process(BalanceRequest request)
                         throws LowLevelPaymentException,
                                org.neuclear.id.InvalidNamedObjectException
Throws:
LowLevelPaymentException
org.neuclear.id.InvalidNamedObjectException

process

public abstract History process(HistoryRequest request)
                         throws LowLevelPaymentException,
                                org.neuclear.id.InvalidNamedObjectException
Throws:
LowLevelPaymentException
org.neuclear.id.InvalidNamedObjectException


Copyright © 2003-2004 Antilles Software Ventures SA. All Rights Reserved.