public class UrlClassLoaderBuilder extends SyncEventList<UrlClassLoaderEntry> implements ClassLoaderBuilder, ScnChanged<UrlClassLoaderBuilder,Long>, MapStore, XmlElementStore, Xml2Object
| Modifier and Type | Field and Description |
|---|---|
protected File |
baseDirectory |
protected ScnChanedListener |
childChangeListener |
protected Func3<Object,Integer,UrlClassLoaderEntry,UrlClassLoaderEntry> |
childrenChangeListener |
protected ParentCL |
parentCL |
protected LongScnChangedSupport<UrlClassLoaderBuilder> |
scnChangedSupport |
protected Func3<Object,Integer,UrlClassLoaderEntry,UrlClassLoaderEntry> |
setSyncChild |
synceventQueue, listeners, lockLevellist| Constructor and Description |
|---|
UrlClassLoaderBuilder()
Конструктор по умолчанию
|
UrlClassLoaderBuilder(List<UrlClassLoaderEntry> wraplist)
Конструктор
|
UrlClassLoaderBuilder(List<UrlClassLoaderEntry> wraplist,
Object sync)
Конструктор
|
| Modifier and Type | Method and Description |
|---|---|
void |
addScnChangedEvent(ScnChangedEvent<UrlClassLoaderBuilder,Long> ev)
Добавляет уведомление в очередь
|
Closeable |
addScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
Добавляет подписчика на изменения
|
Closeable |
addScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener,
boolean weakLink)
Добавляет подписчика на изменения
|
ClassLoader |
build()
Создает ClassLoader
|
void |
fireScnChanged(Long old,
Long cur)
Уведомляет подписчиков о измении SCN минуя очередь уведомлений
|
void |
fireScnChangedEvent(ScnChangedEvent<UrlClassLoaderBuilder,Long> event) |
void |
fireScnChangedEvents()
Рассылает уведомления из очереди
|
File |
getBaseDirectory()
Указывает базовый каталог для относительных путей.
|
Class |
getJavaType()
JAVA объект соответ тэгу
|
ParentCL |
getParentCL()
Указывает какой parent class loader использовать.
|
ConcurrentLinkedQueue<ScnChangedEvent<UrlClassLoaderBuilder,Long>> |
getScnChangedEventQueue()
Возвращает очередь уведомлений
|
Set<ScnChanedListener<UrlClassLoaderBuilder,Long>> |
getScnChangedListeners()
Возвращает активных подписчиков
|
String |
getTagName()
XML Тег которым представлен объект
|
boolean |
hasScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
Проверяет что указанный подписчик имеется в списках рассылки
|
Pair<Long,Long> |
nextscn()
Генерирует новый номер SCN.
|
Pair<Long,Long> |
nextscn(boolean addEvent,
boolean fireEvent)
Генерирует новый номер SCN
|
void |
removeAllScnChangedListeners()
Удаляет всех подписчиков
|
void |
removeScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
Удаляет подписчика от уведомлений
|
Object |
restore(Element el)
Восстановление объекта из XML описания
|
void |
restore(Map map)
Восстановление состояния объекта
|
protected void |
restoreEntries(Element xe) |
protected void |
restoreProperties(Element xe) |
protected void |
restoreProperties(Map map) |
Long |
scn()
Возвращает текущий номер изменений
|
void |
scn(Runnable run)
Выполняет код в блоку try/finally а затем рассылает уведомления.
|
void |
setBaseDirectory(File baseDirectory)
Указывает базовый каталог для относительных путей
Базовый каталог не сохраняется в xml.
|
void |
setParentCL(ParentCL parentCL)
Указывает какой parent class loader использовать.
|
void |
store(Map map)
Сохранение состояния объекта
|
protected void |
storeEntries(Element xe) |
protected void |
storeProperties(Element xe) |
protected void |
storeProperties(Map map) |
void |
xmlElementRestore(Element xe)
Восстанавливает объект из контейнера XML
|
void |
xmlElementStore(Element el)
Сохраняет объект в XML представление
|
lockRunadd, add0, iterator, iterator0, remove, remove, remove0, remove0, removeAll, removeAll0, retainAll, retainAll0add, add0, addAll, addAll, addAll0, addAll0, addEventListListener, addEventListListener, addEventToQueue, bulkInsert, clear, clear0, contains, containsAll, containsEventListListener, fireEventListMessage, fireQueueEvents, fireQueueEvents0, get, getListenersHelper, getWrappedList, indexOf, isEmpty, lastIndexOf, listIterator, listIterator, listIterator0, listIterator0, lockRun, onAdded, onAdding, onChanged, onChanged, onChanging, onChanging, onDeleted, onDeleted, onDeleting, onDeleting, onInserted, onInserted, onInserting, onInserting, onRemoved, onRemoving, onUpdated, onUpdated, onUpdating, onUpdating, removeEventListListener, set, set0, setWrappedList, size, subList, subList0, toArray, toArraytoStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitequals, hashCode, replaceAll, sort, spliteratorparallelStream, removeIf, streamprotected final LongScnChangedSupport<UrlClassLoaderBuilder> scnChangedSupport
protected final Func3<Object,Integer,UrlClassLoaderEntry,UrlClassLoaderEntry> setSyncChild
protected final Func3<Object,Integer,UrlClassLoaderEntry,UrlClassLoaderEntry> childrenChangeListener
protected final ScnChanedListener childChangeListener
protected ParentCL parentCL
protected File baseDirectory
public UrlClassLoaderBuilder(List<UrlClassLoaderEntry> wraplist)
wraplist - список URL-Entry в качестве содержанияpublic UrlClassLoaderBuilder(List<UrlClassLoaderEntry> wraplist, Object sync)
wraplist - список URL-Entry в качестве содержанияsync - Объект синхронизацииpublic UrlClassLoaderBuilder()
public Long scn()
scn in interface ScnChanged<UrlClassLoaderBuilder,Long>public Pair<Long,Long> nextscn(boolean addEvent, boolean fireEvent)
addEvent - true - добавляет извещение в очередьfireEvent - true - рассылает накопленные собщения из очередиpublic Pair<Long,Long> nextscn()
Если уровень вложенности scn( Runnable ) - нулевой (нет вложенных блоков), то рассылает накопленные собщения из очереди.
Если уровень вложенности scn( Runnable ) - больше нуля, то просто добавляет извещения в очередь.
public boolean hasScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
ScnChangedhasScnChangedListener in interface ScnChanged<UrlClassLoaderBuilder,Long>listener - подписчикpublic Set<ScnChanedListener<UrlClassLoaderBuilder,Long>> getScnChangedListeners()
ScnChangedgetScnChangedListeners in interface ScnChanged<UrlClassLoaderBuilder,Long>public Closeable addScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
ScnChangedaddScnChangedListener in interface ScnChanged<UrlClassLoaderBuilder,Long>listener - подписчикpublic Closeable addScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener, boolean weakLink)
ScnChangedaddScnChangedListener in interface ScnChanged<UrlClassLoaderBuilder,Long>listener - подписчикweakLink - true - добавить подписчика на weak ссылку / false - как hard ссылкуpublic void removeScnChangedListener(ScnChanedListener<UrlClassLoaderBuilder,Long> listener)
ScnChangedremoveScnChangedListener in interface ScnChanged<UrlClassLoaderBuilder,Long>listener - подписчикpublic void removeAllScnChangedListeners()
ScnChangedremoveAllScnChangedListeners in interface ScnChanged<UrlClassLoaderBuilder,Long>public void fireScnChangedEvent(ScnChangedEvent<UrlClassLoaderBuilder,Long> event)
public ConcurrentLinkedQueue<ScnChangedEvent<UrlClassLoaderBuilder,Long>> getScnChangedEventQueue()
public void addScnChangedEvent(ScnChangedEvent<UrlClassLoaderBuilder,Long> ev)
ev - уведомлениеpublic void fireScnChangedEvents()
public void fireScnChanged(Long old, Long cur)
old - предыдущее значение SCNcur - текущее значение SCNpublic void scn(Runnable run)
Выполняет код в блоке try/finally. А по завершению верхнего уровня рассылает накопленные уведомления из очереди.
run - кодpublic ParentCL getParentCL()
public void setParentCL(ParentCL parentCL)
parentCL - тип parent class loader-аpublic File getBaseDirectory()
Базовый каталог не сохраняется в xml.
public void setBaseDirectory(File baseDirectory)
Базовый каталог не сохраняется в xml.
baseDirectory - Базовый каталог/nullpublic ClassLoader build()
ClassLoaderBuilderbuild in interface ClassLoaderBuilderpublic void store(Map map)
MapStoreprotected void storeProperties(Map map)
public void restore(Map map)
MapStoreprotected void restoreProperties(Map map)
public void xmlElementStore(Element el)
XmlElementStorexmlElementStore in interface XmlElementStoreel - контейнер XMLprotected void storeProperties(Element xe)
protected void storeEntries(Element xe)
public void xmlElementRestore(Element xe)
XmlElementStorexmlElementRestore in interface XmlElementStorexe - контейнер XMLprotected void restoreProperties(Element xe)
protected void restoreEntries(Element xe)
public String getTagName()
Xml2ObjectgetTagName in interface Xml2Objectpublic Class getJavaType()
Xml2ObjectgetJavaType in interface Xml2Objectpublic Object restore(Element el)
Xml2Objectrestore in interface Xml2Objectel - xml описаниеCopyright © 2018. All rights reserved.