public class GroovyEngine extends Object implements Engine, MapStore, XmlElementStore, Xml2Object, SetBindings, GetBindings, EngineOutput, xyz.cofe.scn.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 xyz.cofe.scn.ScnChanedListener |
compilerConfChangeListener |
protected GCompilerConf |
compilerConfiguration |
protected xyz.cofe.scn.ScnChanedListener |
dropGroovyShell |
protected Writer |
errorWriter |
protected GroovyEngineFactory |
factory |
protected boolean |
GClassLoaderClearCache |
protected xyz.cofe.scn.LongScnChangedSupport |
scnSupport |
protected long |
submitId |
protected long |
submitIdInc |
protected boolean |
threadGroupAuto |
protected Writer |
writer |
| Constructor and Description |
|---|
GroovyEngine()
Конструктор по умолчанию
|
GroovyEngine(GroovyEngine sample)
Конструктор по умолчанию
|
| Modifier and Type | Method and Description |
|---|---|
void |
addScnChangedEvent(xyz.cofe.scn.ScnChangedEvent ev) |
Closeable |
addScnChangedListener(xyz.cofe.scn.ScnChanedListener listener) |
Closeable |
addScnChangedListener(xyz.cofe.scn.ScnChanedListener listener,
boolean weakLink) |
GroovyEngine |
clone() |
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(xyz.cofe.scn.ScnChangedEvent event)
Уведомляет подписчиков о измении SCN минуя очередь уведомлений
|
void |
fireScnChangedEvents()
Рассылает уведомления из очереди
|
EngineBindings |
getBindings() |
ClassLoader |
getClassLoader()
Указывает загрузчик классов, на поведение GroovyClassLoader влияет свойство GClassLoaderClearCache
|
GCompilerConf |
getCompilerConfiguration() |
Writer |
getErrorWriter()
Указывает output ошибок для класса скрипта.
|
GroovyEngineFactory |
getFactory() |
Class |
getJavaType() |
ConcurrentLinkedQueue |
getScnChangedEventQueue()
Возвращает очередь уведомлений
|
Set |
getScnChangedListeners() |
long |
getSubmitId()
Счетчик для ThreadGroup
|
long |
getSubmitIdInc()
Шаг счетчика ThreadGroup
|
String |
getTagName() |
boolean |
getThreadGroupAuto() |
Writer |
getWriter()
Указывает output для класса скрипта.
|
groovy.lang.GroovyShell |
groovyShell()
Создает/возвращает GroovyShell
|
Object |
groovyShellByReflect() |
boolean |
hasScnChangedListener(xyz.cofe.scn.ScnChanedListener listener) |
boolean |
isAssignOutProperty()
Gets the value of the property assignOutProperty.
|
boolean |
isCacheGroovyShell()
Указывает кэшировать или каждый раз создавать новый GroovyShell
|
boolean |
isGClassLoaderClearCache()
Указывает сбрасывать кэш скомпилированных Groovy классов из ClassLoader-а, при запуске скрипта
|
boolean |
isTryReflectGroovyShell() |
void |
loadXml(String xml)
Восстанавливает объект по XML разметке
|
xyz.cofe.collection.Pair |
nextscn()
Генерирует новый номер SCN.
|
xyz.cofe.collection.Pair |
nextscn(boolean addEvent,
boolean fireEvent)
Генерирует новый номер SCN
|
void |
removeAllScnChangedListeners() |
void |
removeScnChangedListener(xyz.cofe.scn.ScnChanedListener listener) |
Object |
restore(Element el) |
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 |
setTryReflectGroovyShell(boolean tryReflectGroovyShell) |
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) |
void |
xmlElementStore(Element xe) |
public boolean isAssignOutProperty
protected final xyz.cofe.scn.LongScnChangedSupport scnSupport
protected final xyz.cofe.scn.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 xyz.cofe.scn.ScnChanedListener compilerConfChangeListener
protected boolean threadGroupAuto
protected long submitId
protected long submitIdInc
public GroovyEngine()
public GroovyEngine(GroovyEngine sample)
public GroovyEngine clone()
public Long scn()
scn in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public xyz.cofe.collection.Pair nextscn(boolean addEvent,
boolean fireEvent)
addEvent - true - добавляет извещение в очередьfireEvent - true - рассылает накопленные собщения из очередиpublic xyz.cofe.collection.Pair nextscn()
Если уровень вложенности scn( Runnable ) - нулевой (нет вложенных блоков), то рассылает накопленные собщения из очереди.
Если уровень вложенности scn( Runnable ) - больше нуля, то просто добавляет извещения в очередь.
public void scn(Runnable run)
Выполняет код в блоке try/finally. А по завершению верхнего уровня рассылает накопленные уведомления из очереди.
run - кодpublic boolean hasScnChangedListener(xyz.cofe.scn.ScnChanedListener listener)
hasScnChangedListener in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public Set getScnChangedListeners()
getScnChangedListeners in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public Closeable addScnChangedListener(xyz.cofe.scn.ScnChanedListener listener)
addScnChangedListener in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public Closeable addScnChangedListener(xyz.cofe.scn.ScnChanedListener listener, boolean weakLink)
addScnChangedListener in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public void removeScnChangedListener(xyz.cofe.scn.ScnChanedListener listener)
removeScnChangedListener in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public void removeAllScnChangedListeners()
removeAllScnChangedListeners in interface xyz.cofe.scn.ScnChanged<GCompilerConf,Long>public void fireScnChangedEvent(xyz.cofe.scn.ScnChangedEvent event)
event - уведомлениеpublic ConcurrentLinkedQueue getScnChangedEventQueue()
public void addScnChangedEvent(xyz.cofe.scn.ScnChangedEvent ev)
public void fireScnChangedEvents()
public void fireScnChanged(Comparable old, Comparable cur)
old - предыдущее значение SCNcur - текущее значение SCNpublic GroovyEngineFactory getFactory()
getFactory in interface Enginepublic void setFactory(GroovyEngineFactory factory)
factory - фабрикаpublic EngineBindings getBindings()
getBindings in interface GetBindingspublic void setBindings(EngineBindings bindings)
setBindings in interface SetBindingsprotected 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 boolean isTryReflectGroovyShell()
public void setTryReflectGroovyShell(boolean tryReflectGroovyShell)
public Object groovyShellByReflect()
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)
public void xmlElementStore(Element xe)
xmlElementStore in interface XmlElementStorepublic void xmlElementRestore(Element xe)
xmlElementRestore in interface XmlElementStorepublic String toXml()
public void loadXml(String xml)
xml - XML разметкаpublic String getTagName()
getTagName in interface Xml2Objectpublic Class getJavaType()
getJavaType in interface Xml2Objectpublic Object restore(Element el)
restore in interface Xml2ObjectCopyright © 2019. All rights reserved.