Кто-нибудь может объяснить, почему тип события - произвольная строка в шве? - PullRequest
1 голос
/ 08 ноября 2010

Я заметил, что тип события - это просто произвольная строка в шве, которая будет использоваться в component.xml или аннотациях. Иногда это может привести к ошибкам, если я неправильно опишу их, например, «org.jboss.seam.security.notLogedIn», фактически это должно быть «org.jboss.seam.security.notLoggedIn». Есть ли альтернативный способ обработки типов событий?

1 Ответ

5 голосов
/ 08 ноября 2010

Поскольку большинство ключей (типов) событий объявлены как public static final (как тот, на который вы ссылаетесь), вы можете ссылаться на них без проблем с ошибками.

@Observer(Identity.EVENT_NOT_LOGGED_IN)
public void handleNotLoggedIn() {
}

К сожалению, вы не может использовать EL в объявлении типа события в component.xml.Я недавно попробовал это.

<event type="#{...}">
    <!-- does not work -->
</event>

ИМХО, нет другого способа, кроме как скопировать и вставить ключи событий в component.xml, чтобы предотвратить неправильное написание.

...