Interface InteractionControllerInstantiator

All Known Implementing Classes:
GuiceInteractionControllerInstantiator
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface InteractionControllerInstantiator

An InteractionControllerInstantiator is used get instances of classes annotated with Interaction, if needed creating those.

At the time of Runtime creation, forRuntime(String, JDA) is called, allowing the InteractionControllerInstantiator to provide an instance that has not to be thread safe and is bound to one Runtime.

Please also note that per Runtime there can be multiple classes annotated with Interaction but there can be only one instance per class of those per Runtime. Instances of interactions should be treated like runtime scoped singletons, so to speak.