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.BGException
public static void updateClassSource(java.lang.String className, javax.activation.DataHandler data) throws ru.bitel.bgbilling.common.BGException
className
- имя классаcode
- исходный кодru.bitel.bgbilling.common.BGException
public static void restoreSourcesFromBackup(java.lang.String className) throws ru.bitel.bgbilling.common.BGException
className
- имя классаru.bitel.bgbilling.common.BGException
public 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.BGException
public java.util.List<java.lang.String> getActualClassesByInterface(java.lang.String interfaceName) throws ru.bitel.bgbilling.common.BGException
interfaceName
- имя интерфейсаru.bitel.bgbilling.common.BGException
public static void backupAndDelete(java.lang.String className) throws ru.bitel.bgbilling.common.BGException
className
- имя классаru.bitel.bgbilling.common.BGException
public void deleteClassFromDb(java.lang.String className) throws ru.bitel.bgbilling.common.BGException
className
- имя классаru.bitel.bgbilling.common.BGException
public void clearTables() throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException