
Untitled
By: a guest on
Feb 5th, 2011 | syntax:
None | size: 0.95 KB | views:
106 | expires: Never
@Qualifier
@Target({ TYPE, METHOD, PARAMETER, FIELD })
@Retention(RUNTIME)
@Documented
public @interface UserSaved {
String value();
public static class UserSavedLiteral extends AnnotationLiteral<UserSaved>
implements UserSaved {
private final String value;
public UserSavedLiteral(String value) {
this.value = value;
}
@Override
public String value() {
return value;
}
}
}
@Named
@RequestScoped
public class UserAction {
@Inject
private UserService userService;
@Inject
private Event<String> event;
public voidsave(User user) {
userService.save(user);
UserSaved saved = new UserSaved.UserSavedLiteral("obs1");
event.select(saved);
event.fire(user.getName());
}
public void obs1(@Observes @UserSaved("obs1") String param) {
System.out.println("obs1: " + param);
}
public void obs2(@Observes @UserSaved("obs2") String param) {
System.out.println("obs2: " + param);
}
}