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