Interface DynamicCodeService


@MTOM(enabled=true) public interface DynamicCodeService
  • Method Summary

    Modifier and Type
    Method
    Description
    compile(String className)
    Компилирует исходник с заданным именем класса.
    deleteClasses(String... classNames)
    Удаляет заданные исходники.
    deleteFiles(String... fileNames)
    Нужен для удаления не java классов.
    void
    по переданному id удаляет пользовательский шаблон из таблицы
    Генерирует код-болванку для заданного имени класса-интерфейса
    Возвращает имена загруженных классов, имплементирующих заданный интерфейс.
    Возвращает список всех динамических классов.
    Возвращает загруженные классы, имплементирующие заданный интерфейс.
    void
    getDynJar(boolean common, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> data)
    Получить jar, состояющую из dyn-классов.
    getSource(String className)
    Возвращает исходный код класса.
    getSourceData(String className)
    Возвращает код класса
    ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate
    по id возвращает пользовательский шаблон, либо null, если не был найден шаблон с таким id
    SearchResult<ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate>
    Возвращает список пользовательских шаблонов из таблицы
    boolean
    isClassExists(String className)
    Проверяет, существует ли уже такое имя класса.
    Инициирует перекомпиляцию всех исходников.
    run(String className, String[] parameters)
    Запускает исходник с заданным именем класса.
    void
    updateSource(String className, String source)
    Сохранение исходного кода заданного класса.
    void
    updateTemplate(ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate customTemplate)
    Обновляет пользовательский шаблон
  • Method Details

    • updateSource

      void updateSource(String className, String source) throws ru.bitel.bgbilling.common.BGException
      Сохранение исходного кода заданного класса.
      Parameters:
      className - имя класса
      code - исходный код
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getSource

      String getSource(String className) throws ru.bitel.bgbilling.common.BGException
      Возвращает исходный код класса.
      Parameters:
      className - имя класса
      Returns:
      исходный код
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getSourceData

      DynamicSourceData getSourceData(String className) throws ru.bitel.bgbilling.common.BGException
      Возвращает код класса
      Parameters:
      className - имя класса
      Returns:
      класс в виде масива байт
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getDynamicClasses

      List<DynamicClass> getDynamicClasses() throws ru.bitel.bgbilling.common.BGException
      Возвращает список всех динамических классов.
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • recompileAll

      CompilationResult recompileAll() throws ru.bitel.bgbilling.common.BGException
      Инициирует перекомпиляцию всех исходников. Приводит к заполнению таблицы классов заново!
      Returns:
      сообщения компилятора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getClassNamesByInterface

      List<String> getClassNamesByInterface(String ifaceName) throws ru.bitel.bgbilling.common.BGException
      Возвращает имена загруженных классов, имплементирующих заданный интерфейс.
      Parameters:
      ifaceName - имя интерфейса
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getDynamicClassesByInterface

      List<DynamicClass> getDynamicClassesByInterface(String ifaceName) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
      Возвращает загруженные классы, имплементирующие заданный интерфейс.
      Parameters:
      ifaceName - имя интерфейса
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
      ru.bitel.bgbilling.common.BGMessageException
    • compile

      CompilationResult compile(String className) throws ru.bitel.bgbilling.common.BGException
      Компилирует исходник с заданным именем класса.
      Parameters:
      className -
      Returns:
      сообщения компилятора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteClasses

      CompilationResult deleteClasses(String... classNames) throws ru.bitel.bgbilling.common.BGException
      Удаляет заданные исходники. Работа метода заключается в следующем:
      1) исходники переименовываются в bak-файлы;
      2) запускается полная перекомпиляция остальных исходников;
      3) если произошла ошибка компиляции, то удаление исходников откатывается;
      4) если ошибок нет, то
         а) удаляются bak-файлы;
         б) удаляются записи об этих классов из таблиц в БД.
      Parameters:
      classNames - имя классов для удаления
      Returns:
      сообщения компилятора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteFiles

      CompilationResult deleteFiles(String... fileNames) throws ru.bitel.bgbilling.common.BGException
      Нужен для удаления не java классов. Удаляет просто файлы, не java классы.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • generateCode

      String generateCode(GeneratorOptions options) throws ru.bitel.bgbilling.common.BGException
      Генерирует код-болванку для заданного имени класса-интерфейса
      Parameters:
      iface - имя класса-интерфейса
      fullClassName - имя создаваемого класса
      defaultImports - имена классов, импорты которых следует прописать независимо от их необходимости в коде
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • isClassExists

      boolean isClassExists(String className) throws ru.bitel.bgbilling.common.BGException
      Проверяет, существует ли уже такое имя класса.
      Parameters:
      className - имя класса
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • run

      List<RunMessage> run(String className, String[] parameters) throws ru.bitel.bgbilling.common.BGException
      Запускает исходник с заданным именем класса.
      Parameters:
      className - имя класса
      parameters - параметры метода main
      Returns:
      список строк сообщения
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getDynJar

      void getDynJar(boolean common, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> data) throws ru.bitel.bgbilling.common.BGException
      Получить jar, состояющую из dyn-классов.
      Parameters:
      common - если true, то пропускаются классы-имплементации web-сервисов.
      data -
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateTemplate

      void updateTemplate(ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate customTemplate) throws ru.bitel.bgbilling.common.BGException
      Обновляет пользовательский шаблон
      Parameters:
      customTemplate - - шаблон
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getTemplateById

      ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate getTemplateById(int id) throws ru.bitel.bgbilling.common.BGException
      по id возвращает пользовательский шаблон, либо null, если не был найден шаблон с таким id
      Parameters:
      id -
      Returns:
      CustomTemplate
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getTemplateList

      SearchResult<ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate> getTemplateList(Page page) throws ru.bitel.bgbilling.common.BGException
      Возвращает список пользовательских шаблонов из таблицы
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteTepmlate

      void deleteTepmlate(int id) throws ru.bitel.bgbilling.common.BGException
      по переданному id удаляет пользовательский шаблон из таблицы
      Parameters:
      id -
      Throws:
      ru.bitel.bgbilling.common.BGException