Interface DynamicCodeService
@MTOM(enabled=true)
public interface DynamicCodeService
-
Method Summary
Modifier and TypeMethodDescriptionКомпилирует исходник с заданным именем класса.deleteClasses(String... classNames) Удаляет заданные исходники.deleteFiles(String... fileNames) Нужен для удаления не java классов.voiddeleteTepmlate(int id) по переданному id удаляет пользовательский шаблон из таблицыgenerateCode(GeneratorOptions options) Генерирует код-болванку для заданного имени класса-интерфейсаgetClassNamesByInterface(String ifaceName) Возвращает имена загруженных классов, имплементирующих заданный интерфейс.Возвращает список всех динамических классов.getDynamicClassesByInterface(String ifaceName) Возвращает загруженные классы, имплементирующие заданный интерфейс.voidgetDynJar(boolean common, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> data) Получить jar, состояющую из dyn-классов.Возвращает исходный код класса.getSourceData(String className) Возвращает код классаru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplategetTemplateById(int id) по id возвращает пользовательский шаблон, либо null, если не был найден шаблон с таким idSearchResult<ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate>getTemplateList(Page page) Возвращает список пользовательских шаблонов из таблицыbooleanisClassExists(String className) Проверяет, существует ли уже такое имя класса.Инициирует перекомпиляцию всех исходников.Запускает исходник с заданным именем класса.voidupdateSource(String className, String source) Сохранение исходного кода заданного класса.voidupdateTemplate(ru.bitel.bgbilling.kernel.dynamic.common.templates.CustomTemplate customTemplate) Обновляет пользовательский шаблон
-
Method Details
-
updateSource
Сохранение исходного кода заданного класса.- Parameters:
className- имя классаcode- исходный код- Throws:
ru.bitel.bgbilling.common.BGException
-
getSource
Возвращает исходный код класса.- Parameters:
className- имя класса- Returns:
- исходный код
- Throws:
ru.bitel.bgbilling.common.BGException
-
getSourceData
Возвращает код класса- Parameters:
className- имя класса- Returns:
- класс в виде масива байт
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
getDynamicClasses
Возвращает список всех динамических классов.- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
recompileAll
Инициирует перекомпиляцию всех исходников. Приводит к заполнению таблицы классов заново!- Returns:
- сообщения компилятора
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
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.BGExceptionru.bitel.bgbilling.common.BGMessageException
-
compile
Компилирует исходник с заданным именем класса.- Parameters:
className-- Returns:
- сообщения компилятора
- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteClasses
Удаляет заданные исходники. Работа метода заключается в следующем:
1) исходники переименовываются в bak-файлы;
2) запускается полная перекомпиляция остальных исходников;
3) если произошла ошибка компиляции, то удаление исходников откатывается;
4) если ошибок нет, то
а) удаляются bak-файлы;
б) удаляются записи об этих классов из таблиц в БД.- Parameters:
classNames- имя классов для удаления- Returns:
- сообщения компилятора
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
deleteFiles
Нужен для удаления не java классов. Удаляет просто файлы, не java классы.- Throws:
ru.bitel.bgbilling.common.BGException
-
generateCode
Генерирует код-болванку для заданного имени класса-интерфейса- Parameters:
iface- имя класса-интерфейсаfullClassName- имя создаваемого классаdefaultImports- имена классов, импорты которых следует прописать независимо от их необходимости в коде- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
isClassExists
Проверяет, существует ли уже такое имя класса.- 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
-