Annotation Type Layer1Attachable


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

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

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.