Um, no. Эти вложенные статические классы предназначены для того, чтобы вы генерировали безопасные для домена события домена, которые затем могут быть подписаны другими объектами через внутреннюю шину событий. Извините, если это не ясно.
Чтобы написать действие, просто написать публичный метод, например:
Если все вы хотите CRUD, то нет необходимости писать какие-либо действия; объекты имеют режим редактирования, и пользователь может просто изменить любое поле.
Для более сложных приложений мы обычно предлагаем отключить использование @DomainObject (редактирование = Редактирование.DISABLED) - или его можно отключить глобально для всех объектов, используя параметр в файле конфигурации isis.properties, и написать действие для лучше зафиксировать намерение изменения пользователя в данных.
Возвращаясь к тем вложенным статическим классам, если вы сделать хотите событие будет генерироваться, то вы можете аннотировать его, например:
public static class PlaceOrderEvent extends ActionDomainEvent {}
@Action(domainEvent=PlaceOrderEvent.class)
public Order placeOrder(Product p, int quantity) { ... }
это затем позволяет другой код подписывается, используя, например:
@Subscribe public void on(Customer.PlaceOrderEvent ev) { ... }
Они могут использоваться для действий вето (например, ссылочной целостности на уровне домена) или для выполнения триггеров (например, каскадных обновлений или денормализованных данных). Но это расширенные варианты использования; вообще говоря, этот материал добавляется позже.
Надеюсь, что это поможет. По другим вопросам я рекомендую вам подписаться на список рассылки пользователей, мы, как правило, поднимаем вопросы там быстрее, чем здесь, на SO.
Thx