Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Feb 5th, 2011  |  syntax: None  |  size: 0.95 KB  |  views: 106  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. @Qualifier
  2. @Target({ TYPE, METHOD, PARAMETER, FIELD })
  3. @Retention(RUNTIME)
  4. @Documented
  5. public @interface UserSaved {
  6.  
  7.         String value();
  8.  
  9.         public static class UserSavedLiteral extends AnnotationLiteral<UserSaved>
  10.                         implements UserSaved {
  11.  
  12.                 private final String value;
  13.  
  14.                 public UserSavedLiteral(String value) {
  15.                         this.value = value;
  16.                 }
  17.  
  18.                 @Override
  19.                 public String value() {
  20.                         return value;
  21.                 }
  22.         }
  23. }
  24.  
  25.  
  26. @Named
  27. @RequestScoped
  28. public class UserAction {
  29.  
  30.         @Inject
  31.         private UserService userService;
  32.  
  33.         @Inject
  34.         private Event<String> event;
  35.  
  36.         public voidsave(User user) {
  37.                 userService.save(user);
  38.        
  39.                 UserSaved saved = new UserSaved.UserSavedLiteral("obs1");
  40.                 event.select(saved);
  41.                 event.fire(user.getName());
  42.         }
  43.  
  44.         public void obs1(@Observes @UserSaved("obs1") String param) {
  45.                 System.out.println("obs1: " + param);
  46.         }
  47.  
  48.         public void obs2(@Observes @UserSaved("obs2") String param) {
  49.                 System.out.println("obs2: " + param);
  50.         }
  51. }
clone this paste RAW Paste Data