rodionmoiseev / c10n

A Java library, focused on making internationalisation more modular, easier to evolve and maintain, robust-to-change and IDE-friendly without excess of external tools.
Apache License 2.0
67 stars 10 forks source link

Create a plugin system for injecting custom logic at method eval-time #31

Closed rodionmoiseev closed 8 years ago

rodionmoiseev commented 8 years ago

I want to make a plugin that would allow to log messages to a custom logger, with custom levels, when making a call to one of the c10n methods. For instance:

@C10NMessages
interface MyLogger{
  @En("Could not connect to {}")
  @Level(WARN)
  void aProblem(String ip);
}

The above should be doable with a simple plugin system that allows to execute custom code when interface proxy method is executed. Need to make sure the translations with placeholders are available as well as any custom annotations (such as @Level above).