Аннотация @InjectApi

  • Инжектирование API в groovy-классы.

    Аннотация @InjectApi позволяет использовать скриптовое API внутри классов, помеченных этой аннотацией.

    Внедряет следующие контекстные переменные как свойства класса:

    • api
    • appVersion
    • logger
    • modules
    • op
    • queuedDate
    • sp
    • utils
    • geo

    Особенности: несовместима с аннотацией @Delegate в пределах класса и со static контекстом.

    Пример:

    import ru.naumen.core.server.script.api.injection.InjectApi
    @InjectApi
    class TestClass
    {
      def testMethod(def testArg)
      {
         logger.info("$testArg") //без @InjectApi переменная logger будет недоступна
      }
    }