Package ca.mint.mintchip.contract

The ca.mint.mintchip.contract package includes Java interfaces and classes that define the public API for MintChip.

See: Description

Interface Summary
Interface Description
ILogEntry This interface represents an individual MintChip transaction log entry.
IMessage This interface represents a message used by the MintChip API.
IMintChip This interface represents the primary controller for interacting with MintChip.
IMintChipStatus This interface represents the current status of the MintChip.
IValueMessage This interface represents an instance of value in transit between a payer(source) and a payee(target).
IValueRequestMessage This interface represents a request for a Value Message.
Class Summary
Class Description
CurrencyCode This class represents various currencies supported by MintChip.
LogType This class represents the type of MintChip transaction log entry.
Exception Summary
Exception Description
MintChipException This class represents an exception thrown by MintChip.

Description

The ca.mint.mintchip.contract package includes Java interfaces and classes that define the public API for MintChip. The following UML class diagram depicts how these interfaces and classes relate to each other.

MintChip API Class Diagram

The main interface of the API is the IMintChip. It is responsible for supporting the following MintChip functionality:

  • Processing credit transactions by loading the Value Messages and incrementing the chip's balance.
  • Processing debit transactions by creating the Value Messages and decrementing the chip's balance.
  • Reading the transaction log and returning a collection of debit or credit transaction records.
  • Providing the chip's status, which consists of the data that may change over the chip's life time: the balance, the maximum allowed debit and credit amounts, current and remaining numbers of the transaction records.
  • Providing the chip's properties, which consist of the data that never changes since chip's initialization: the ID, the currency code, the public certificate and the chip version.

The rest of the interfaces and classes depicted in the above UML diagram are designed to work with the IMintChip interface in support of the above listed functions.