public class DynamicCodeDao
extends java.lang.Object
DynamicCodeService}| Modifier and Type | Field and Description |
|---|---|
static java.util.regex.Pattern |
RESOURCE_EXT_REGEXP_BLACKLIST
расширения (ресурсов) которые будут совсем игнорироваться, расширения это всё после первой точки: rep.xml, bak, bak.666, java.bak, java.bak.666
|
static java.lang.String |
SOURCE_ENCODING |
| Constructor and Description |
|---|
DynamicCodeDao(java.sql.Connection con) |
| Modifier and Type | Method and Description |
|---|---|
static void |
backupAndDelete(java.lang.String className)
Делает бэкап исходника и удаляет его.
|
void |
clearTables() |
void |
deleteClassFromDb(java.lang.String className)
Удаляет записи о данном классе из таблиц script_classes и script_classes_ifaces
|
static void |
deleteSourcesBackup(java.lang.String className)
Удаляет резервную копию исходников
|
java.util.List<java.lang.String> |
getActualClassesByInterface(java.lang.String interfaceName)
Возвращает список загруженных классов, которые реализуют заданный интерфейс.
|
byte[] |
getClassData(java.lang.String className)
Возвращает скомпилированный байт-код класса из БД.
|
static java.io.File |
getClassFile(java.lang.String className)
Возвращает File, соответствующий файлу с исходным кодом указанного класа.
|
static java.lang.String |
getClassSource(java.lang.String className)
Возвращает исходный код скрипта, считанный из файла.
|
java.util.List<DynamicClass> |
getDynamicClasses()
Возвращает список всех классов и ресурсов.
|
static java.lang.String |
getScriptsDir() |
static void |
restoreSourcesFromBackup(java.lang.String className)
Восстанавливает код класса из сохраненной копии и удаляет её.
|
void |
updateClassData(java.lang.String className,
byte[] data,
long lastModified)
Сохраняет в БД скомпилированный класс
synchronized, так как 2 соыбтия одновременно могут сохранить один и тот же класс
|
void |
updateClassInterfaces(java.lang.Class<?> clazz)
Обновляет информацию об интерфейсах, которые имплементирует класс.
|
static void |
updateClassSource(java.lang.String className,
javax.activation.DataHandler data)
Сохраняет исходный код класса на диск в соответствующий файл.
|
public static final java.lang.String SOURCE_ENCODING
public static final java.util.regex.Pattern RESOURCE_EXT_REGEXP_BLACKLIST
public static final java.lang.String getScriptsDir()
public byte[] getClassData(java.lang.String className)
throws ru.bitel.bgbilling.common.BGException
className - имя классаru.bitel.bgbilling.common.BGException - ошибки (в т.ч. ошибки БД)public static java.lang.String getClassSource(java.lang.String className)
throws ru.bitel.bgbilling.common.BGException
className - имя классаru.bitel.bgbilling.common.BGException - ошибкиpublic void updateClassData(java.lang.String className,
byte[] data,
long lastModified)
throws ru.bitel.bgbilling.common.BGException
className - имя классаdata - скомпилированный классru.bitel.bgbilling.common.BGExceptionpublic static void updateClassSource(java.lang.String className,
javax.activation.DataHandler data)
throws ru.bitel.bgbilling.common.BGException
className - имя классаcode - исходный кодru.bitel.bgbilling.common.BGExceptionpublic static void restoreSourcesFromBackup(java.lang.String className)
throws ru.bitel.bgbilling.common.BGException
className - имя классаru.bitel.bgbilling.common.BGExceptionpublic static void deleteSourcesBackup(java.lang.String className)
className - имя классаpublic java.util.List<DynamicClass> getDynamicClasses() throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException - ошибки.public static java.io.File getClassFile(java.lang.String className)
className - имя класса (или ресурса с расширением)public void updateClassInterfaces(java.lang.Class<?> clazz)
throws ru.bitel.bgbilling.common.BGException
currentClassName - имя классаinterfaces - интерфейсыru.bitel.bgbilling.common.BGExceptionpublic java.util.List<java.lang.String> getActualClassesByInterface(java.lang.String interfaceName)
throws ru.bitel.bgbilling.common.BGException
interfaceName - имя интерфейсаru.bitel.bgbilling.common.BGExceptionpublic static void backupAndDelete(java.lang.String className)
throws ru.bitel.bgbilling.common.BGException
className - имя классаru.bitel.bgbilling.common.BGExceptionpublic void deleteClassFromDb(java.lang.String className)
throws ru.bitel.bgbilling.common.BGException
className - имя классаru.bitel.bgbilling.common.BGExceptionpublic void clearTables()
throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException