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