Annotation Interface Implementation


@Target(TYPE) @Retention(RUNTIME) @Scope public @interface Implementation

Indicates that the annotated class is a custom implementation that should replace the default implementation.

A class annotated with Implementation will be automatically searched for with help of the ClassFinders and instantiated by guice. Following types are candidates for automatic registration.

  • PermissionsProvider
  • GuildScopeProvider
  • ErrorMessageFactory
  • Descriptor
  • Localizer
  • EmojiSource

Additionally, the following classes can be also automatically registered via their dedicated annotations.