Annotation Type Inject


  • @Retention(CLASS)
    @Target({METHOD,FIELD})
    public @interface Inject
    Used to annotate a method or field as an injection point.

    The method or field must not be private, usually it's best to have it package-private.

    Usage example:

           public class MyClass
           {
              private TransactionManager tm;
              private BuddyManager bm;
              private Notifier n;
    
              &Inject
              public void setTransactionManager(TransactionManager tm)
              {
                 this.tm = tm;
              }
    
              &Inject
              public void injectMoreStuff(BuddyManager bm, Notifier n)
              {
                 this.bm = bm;
                 this.n = n;
              }
           }
     
    and an instance of this class can be constructed and wired using
           MyClass myClass = componentRegistry.getComponent(MyClass.class);
     
    Methods annotated with this Inject annotation should *only* set class fields. They should do nothing else. If you need to do some work to prepare the component for use, do it in a Start method since this is only called once when a component starts.
    Since:
    4.0
    Author:
    Manik Surtani