Annotation Type Layer1Injectable


@Retention(RUNTIME)
public @interface Layer1Injectable
Marks classes that can be loaded from GUI as a strategy.
Class will be injected in layers chain.
Should implement AutoCloseable, close will be called when unloading.

When strategy is loaded and is correctly injected in layers chain, it will recieve
UserMessageLayersChainCreatedTargeted message via Layer1ApiAdminListener.onUserMessage(Object) (you need to implement it)
After this, you can interact with Layer1ApiProvider, received in your construtor.

When strategy is no longer in layers chain, Layer1ApiFinishable.finish() will be called (you need to implement it)
You can interact with Layer1ApiProvider inside Layer1ApiFinishable.finish() method, if your previous state allowed it (see below for details*)
After method is completed, you can not interact with Layer1ApiProvider.
*Note, that there is no guarantee that if Layer1ApiFinishable.finish() is called, UserMessageLayersChainCreatedTargeted for this strategy was received.
(i.e. it's possible that you were not in layers chain, and you can not interact with Layer1ApiProvider inside Layer1ApiFinishable.finish() method
Please note, that interacting with Layer1ApiProvider after Layer1ApiFinishable.finish() was called will result in exception.