public class GroovyEngine extends Object implements Engine, MapStore, XmlElementStore, Xml2Object, SetBindings, GetBindings, EngineOutput, ScnChanged<GCompilerConf,Long>, SetClassLoader, GetClassLoader
| Type | Property and Description |
|---|---|
boolean |
isAssignOut
Gets the value of the property assignOutProperty.
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
assignOutProperty |
protected EngineBindings |
bindings |
protected boolean |
cacheGroovyShell |
protected ClassLoader |
classLoader |
protected ScnChanedListener |
compilerConfChangeListener |
protected GCompilerConf |
compilerConfiguration |
protected ScnChanedListener |
dropGroovyShell |
protected Writer |
errorWriter |
protected GroovyEngineFactory |
factory |
protected boolean |
GClassLoaderClearCache |
protected LongScnChangedSupport |
scnSupport |
protected long |
submitId |
protected long |
submitIdInc |
protected boolean |
threadGroupAuto |
protected Writer |
writer |
| Constructor and Description |
|---|
GroovyEngine()
Конструктор по умолчанию
|
| Modifier and Type | Method and Description |
|---|---|
void |
addScnChangedEvent(ScnChangedEvent ev) |
Closeable |
addScnChangedListener(ScnChanedListener listener)
Добавляет подписчика на изменения
|
Closeable |
addScnChangedListener(ScnChanedListener listener,
boolean weakLink)
Добавляет подписчика на изменения
|
protected void |
configure(ThreadMonitorImpl thmon)
Настраивает монитор выполнения скрипта.
|
protected groovy.lang.Binding |
createGroovyBinding(EngineBindings ebind)
Создает прокси "привязок" для GroovyShell
|
protected void |
dropGroovyShell()
Удаляет GroovyShell из кэша
|
void |
fireScnChanged(Comparable old,
Comparable cur)
Уведомляет подписчиков о измении SCN минуя очередь уведомлений
|
void |
fireScnChangedEvent(ScnChangedEvent event)
Уведомляет подписчиков о измении SCN минуя очередь уведомлений
|
void |
fireScnChangedEvents()
Рассылает уведомления из очереди
|
EngineBindings |
getBindings()
Указывает "привязку" к переменным
|
ClassLoader |
getClassLoader()
Указывает загрузчик классов, на поведение GroovyClassLoader влияет свойство GClassLoaderClearCache
|
GCompilerConf |
getCompilerConfiguration() |
Writer |
getErrorWriter()
Указывает output ошибок для класса скрипта.
|
GroovyEngineFactory |
getFactory()
Возвращает фабрику для создания движка
|
Class |
getJavaType()
JAVA объект соответ тэгу
|
ConcurrentLinkedQueue |
getScnChangedEventQueue()
Возвращает очередь уведомлений
|
Set |
getScnChangedListeners()
Возвращает активных подписчиков
|
long |
getSubmitId()
Счетчик для ThreadGroup
|
long |
getSubmitIdInc()
Шаг счетчика ThreadGroup
|
String |
getTagName()
XML Тег которым представлен объект
|
boolean |
getThreadGroupAuto() |
Writer |
getWriter()
Указывает output для класса скрипта.
|
groovy.lang.GroovyShell |
groovyShell()
Создает/возвращает GroovyShell
|
boolean |
hasScnChangedListener(ScnChanedListener listener)
Проверяет что указанный подписчик имеется в списках рассылки
|
boolean |
isAssignOutProperty()
Gets the value of the property assignOutProperty.
|
boolean |
isCacheGroovyShell()
Указывает кэшировать или каждый раз создавать новый GroovyShell
|
boolean |
isGClassLoaderClearCache()
Указывает сбрасывать кэш скомпилированных Groovy классов из ClassLoader-а, при запуске скрипта
|
void |
loadXml(String xml)
Восстанавливает объект по XML разметке
|
Pair |
nextscn()
Генерирует новый номер SCN.
|
Pair |
nextscn(boolean addEvent,
boolean fireEvent)
Генерирует новый номер SCN
|
void |
removeAllScnChangedListeners()
Удаляет всех подписчиков
|
void |
removeScnChangedListener(ScnChanedListener listener)
Удаляет подписчика от уведомлений
|
Object |
restore(Element el)
Восстановление объекта из XML описания
|
void |
restore(Map map)
Восстановление состояния объекта
|
Long |
scn()
Возвращает текущий номер изменений
|
void |
scn(Runnable run)
Выполняет код в блоку try/finally а затем рассылает уведомления.
|
void |
setAssignOutProperty(boolean assignOutProperty)
Устанавливать свойство out для GroovyShell, если доступен writer
|
void |
setBindings(EngineBindings bindings)
Указывает "привязку" к переменным
|
void |
setCacheGroovyShell(boolean cacheGroovyShell)
Указывает кэшировать или каждый раз создавать новый GroovyShell
|
void |
setClassLoader(ClassLoader classLoader)
Указывает загрузчик классов, на поведение GroovyClassLoader влияет свойство GClassLoaderClearCache
|
void |
setCompilerConfiguration(GCompilerConf compilerConfiguration) |
void |
setErrorWriter(Writer writer)
Указывает output ошибок для класса скрипта.
|
void |
setFactory(GroovyEngineFactory factory)
Указывает фабрику Groovy
|
void |
setGClassLoaderClearCache(boolean GClassLoaderClearCache)
Указывает сбрасывать кэш скомпилированных Groovy классов из ClassLoader-а, при запуске скрипта
|
void |
setSubmitId(long submitId)
Счетчик для ThreadGroup
|
void |
setSubmitIdInc(long submitIdInc)
Шаг счетчика ThreadGroup
|
void |
setThreadGroupAuto(boolean threadGroupAuto) |
void |
setWriter(Writer writer)
Указывает output для класса скрипта.
|
void |
store(Map map)
Сохранение состояния объекта
|
ExecuteMonitor<GroovyEngineScript> |
submit(GroovyEngineScript script) |
ExecuteMonitor<String> |
submit(String script)
Отправляет скрипт на выполнение
|
String |
toXml()
Сохраняет объект в XML виде
|
void |
xmlElementRestore(Element xe)
Восстанавливает объект из контейнера XML
|
void |
xmlElementStore(Element xe)
Сохраняет объект в XML представление
|
public boolean isAssignOutProperty
protected final LongScnChangedSupport scnSupport
protected final ScnChanedListener dropGroovyShell
protected GroovyEngineFactory factory
protected EngineBindings bindings
protected boolean assignOutProperty
protected boolean cacheGroovyShell
protected boolean GClassLoaderClearCache
protected ClassLoader classLoader
protected Writer writer
protected Writer errorWriter
protected GCompilerConf compilerConfiguration
protected ScnChanedListener compilerConfChangeListener
protected boolean threadGroupAuto
protected long submitId
protected long submitIdInc
public Long scn()
ScnChangedscn in interface ScnChanged<GCompilerConf,Long>public Pair nextscn(boolean addEvent, boolean fireEvent)
addEvent - true - добавляет извещение в очередьfireEvent - true - рассылает накопленные собщения из очередиpublic Pair nextscn()
Если уровень вложенности scn( Runnable ) - нулевой (нет вложенных блоков), то рассылает накопленные собщения из очереди.
Если уровень вложенности scn( Runnable ) - больше нуля, то просто добавляет извещения в очередь.
public void scn(Runnable run)
Выполняет код в блоке try/finally. А по завершению верхнего уровня рассылает накопленные уведомления из очереди.
run - кодpublic boolean hasScnChangedListener(ScnChanedListener listener)
ScnChangedhasScnChangedListener in interface ScnChanged<GCompilerConf,Long>listener - подписчикpublic Set getScnChangedListeners()
ScnChangedgetScnChangedListeners in interface ScnChanged<GCompilerConf,Long>public Closeable addScnChangedListener(ScnChanedListener listener)
ScnChangedaddScnChangedListener in interface ScnChanged<GCompilerConf,Long>listener - подписчикpublic Closeable addScnChangedListener(ScnChanedListener listener, boolean weakLink)
ScnChangedaddScnChangedListener in interface ScnChanged<GCompilerConf,Long>listener - подписчикweakLink - true - добавить подписчика на weak ссылку / false - как hard ссылкуpublic void removeScnChangedListener(ScnChanedListener listener)
ScnChangedremoveScnChangedListener in interface ScnChanged<GCompilerConf,Long>listener - подписчикpublic void removeAllScnChangedListeners()
ScnChangedremoveAllScnChangedListeners in interface ScnChanged<GCompilerConf,Long>public void fireScnChangedEvent(ScnChangedEvent event)
event - уведомлениеpublic ConcurrentLinkedQueue getScnChangedEventQueue()
public void addScnChangedEvent(ScnChangedEvent ev)
public void fireScnChangedEvents()
public void fireScnChanged(Comparable old, Comparable cur)
old - предыдущее значение SCNcur - текущее значение SCNpublic GroovyEngineFactory getFactory()
EnginegetFactory in interface Enginepublic void setFactory(GroovyEngineFactory factory)
factory - фабрикаpublic EngineBindings getBindings()
GetBindingsgetBindings in interface GetBindingspublic void setBindings(EngineBindings bindings)
SetBindingssetBindings in interface SetBindingsbindings - "привязки" переменнымprotected groovy.lang.Binding createGroovyBinding(EngineBindings ebind)
ebind - исходные "привязки"public boolean isAssignOutProperty()
public void setAssignOutProperty(boolean assignOutProperty)
assignOutProperty - true - устанавливатьconfigure(xyz.cofe.cxconsole.script.jsr233.ThreadMonitorImpl)public groovy.lang.GroovyShell groovyShell()
protected void dropGroovyShell()
public boolean isCacheGroovyShell()
public void setCacheGroovyShell(boolean cacheGroovyShell)
cacheGroovyShell - true - кэшировать объект GroovyShellpublic boolean isGClassLoaderClearCache()
public void setGClassLoaderClearCache(boolean GClassLoaderClearCache)
GClassLoaderClearCache - true - сбрасывать кэш / false - оставить кэш как естьpublic ClassLoader getClassLoader()
getClassLoader in interface GetClassLoaderisGClassLoaderClearCache(),
setGClassLoaderClearCache(boolean)public void setClassLoader(ClassLoader classLoader)
setClassLoader in interface SetClassLoaderclassLoader - Загрузчик классовisGClassLoaderClearCache(),
setGClassLoaderClearCache(boolean)public Writer getWriter()
getWriter in interface EngineOutputScriptOutputServicepublic void setWriter(Writer writer)
setWriter in interface EngineOutputwriter - output длся скрптаScriptOutputServicepublic Writer getErrorWriter()
getErrorWriter in interface EngineOutputScriptOutputServicepublic void setErrorWriter(Writer writer)
setErrorWriter in interface EngineOutputwriter - output длся скрптаScriptOutputServicepublic GCompilerConf getCompilerConfiguration()
public void setCompilerConfiguration(GCompilerConf compilerConfiguration)
public boolean getThreadGroupAuto()
public void setThreadGroupAuto(boolean threadGroupAuto)
public long getSubmitId()
configure(xyz.cofe.cxconsole.script.jsr233.ThreadMonitorImpl)public void setSubmitId(long submitId)
submitId - значение счетчикаconfigure(xyz.cofe.cxconsole.script.jsr233.ThreadMonitorImpl)public long getSubmitIdInc()
configure(xyz.cofe.cxconsole.script.jsr233.ThreadMonitorImpl)public void setSubmitIdInc(long submitIdInc)
submitIdInc - размер шагаconfigure(xyz.cofe.cxconsole.script.jsr233.ThreadMonitorImpl)protected void configure(ThreadMonitorImpl thmon)
Если указано threadGroupAuto=true, то создает тред группу ThreadGroup с именем GroovyEngine tg#номер, Номер берется из свойства submitId, после значение свойства submitId увеличивается на величину submitIdInc.
thmon - мониторgetSubmitId(),
setSubmitId(long),
getSubmitIdInc(),
setSubmitIdInc(long)public ExecuteMonitor<GroovyEngineScript> submit(GroovyEngineScript script)
public ExecuteMonitor<String> submit(String script)
Enginepublic void xmlElementStore(Element xe)
XmlElementStorexmlElementStore in interface XmlElementStorexe - контейнер XMLpublic void xmlElementRestore(Element xe)
XmlElementStorexmlElementRestore in interface XmlElementStorexe - контейнер XMLpublic String toXml()
public void loadXml(String xml)
xml - XML разметкаpublic String getTagName()
Xml2ObjectgetTagName in interface Xml2Objectpublic Class getJavaType()
Xml2ObjectgetJavaType in interface Xml2Objectpublic Object restore(Element el)
Xml2Objectrestore in interface Xml2Objectel - xml описаниеpublic void store(Map map)
MapStoreCopyright © 2018. All rights reserved.