package rewards.internal.account;
/**
* Loads account aggregates. Called by the reward network to find and reconstitute Account entities from an external
* form such as a set of RDMS rows.
*
* Objects returned by this repository are guaranteed to be fully-initialized and ready to use.
*/
public interface AccountRepository {
/**
* Load an account by its credit card.
* @param creditCardNumber the credit card number
* @return the account object
*/
public Account findByCreditCard(String creditCardNumber);
}