Interface AnnotatedModuleCompiler

All Known Implementing Classes:
AnnotatedModuleCompilerImpl

public interface AnnotatedModuleCompiler
A "compiler" for Objects that uses Annotations as helpers for creating Commands.

Previous to version 1.6 all Commands required the Command abstract class to be extended in source. The primary issue that came with this was that Commands were restricted to that method of creation, offering no support for popular means such as annotated commands.

Since 1.6 the introduction of CommandBuilder has allowed the potential to create unique Command objects after compilation.
The primary duty of this class is to provide a "in runtime" converter for generics that are annotated with the JDACommand.Module

Since:
1.7
Author:
Kaidan Gustave
  • Method Summary

    Modifier and Type
    Method
    Description
    Compiles one or more Commands using method annotations as for properties from the specified Object.
  • Method Details

    • compile

      List<Command> compile(Object o)
      Compiles one or more Commands using method annotations as for properties from the specified Object.

      This Object must be annotated with @JDACommand.Module!

      Parameters:
      o - The Object, annotated with @JDACommand.Module.
      Returns:
      A List of Commands generated from the provided Object