@AggregateIdentifier private AccountId accountId; private String accountName;
@NoArgsConstructor public class Guest { @AggregateIdentifier String guestId; String name;
@NoArgsConstructor public class Entrance { @AggregateIdentifier String entranceId; boolean registered;
@Aggregate public class Company { @AggregateIdentifier private CompanyId companyId; @SuppressWarnings("UnusedDeclaration") public Company() { // Required by Axon Framework } @CommandHandler public Company(CreateCompanyCommand cmd) { apply(new CompanyCreatedEvent( cmd.getCompanyId(), cmd.getCompanyName(), cmd.getCompanyValue(), cmd.getAmountOfShares() )); } @CommandHandler public void handle(AddOrderBookToCompanyCommand cmd) { apply(new OrderBookAddedToCompanyEvent(companyId, cmd.getOrderBookId())); } @EventSourcingHandler public void on(CompanyCreatedEvent event) { companyId = event.getCompanyId(); } }
@Aggregate public class Company { @AggregateIdentifier private CompanyId companyId;
@Aggregate public class User { @AggregateIdentifier private UserId userId; private String passwordHash;
@Aggregate public class Notification { @AggregateIdentifier String id; NotificationState state;
@AggregateIdentifier private AccountId accountId; private String accountName;
@Aggregate public class User { @AggregateIdentifier private UserId userId; private String passwordHash;
@Aggregate public class BankTransfer { @AggregateIdentifier private String BankTransferId; private String sourceBankAccountId;
@Aggregate public class BankAccount { @AggregateIdentifier private String id; private long overdraftLimit;
@AggregateIdentifier private AccountId accountId; private String accountName;
@AggregateIdentifier private String id;
@Aggregate public class Transaction { @AggregateIdentifier private TransactionId transactionId; private long amountOfItems;
@Aggregate public class Transaction { @AggregateIdentifier private TransactionId transactionId; private long amountOfItems;
@AggregateIdentifier private PortfolioId portfolioId; private Map<OrderBookId, Long> availableItems;
@AggregateIdentifier private PortfolioId portfolioId; private Map<OrderBookId, Long> availableItems;
@Aggregate @FieldDefaults(level = PRIVATE) public class MenuItem { @AggregateIdentifier String id; Boolean active;
@Aggregate @FieldDefaults(level = PRIVATE) public class Customer { @AggregateIdentifier String id; String email;
@Aggregate @FieldDefaults(level = PRIVATE) public class Order { @AggregateIdentifier String id; String customerId;