public abstract class ExtendedGenericNode<E extends Element> extends GenericNode<E>
LOG_READONLY
Modifier | Constructor and Description |
---|---|
protected |
ExtendedGenericNode(RescatContext rescatContext,
Element parent,
boolean fetchInBackground) |
Modifier and Type | Method and Description |
---|---|
protected void |
addChild(java.lang.String key,
E child) |
void |
clearCache() |
protected boolean |
containsChild(E child) |
protected boolean |
containsKey(java.lang.String key) |
protected void |
forceRefreshImpl()
hook for subclasses to extend the behavior of forceRefresh() such as
clearing intermediate caches.
|
protected java.util.Set<java.lang.String> |
getCacheKeys() |
protected E |
getChild(java.lang.String key) |
protected java.util.List<E> |
getChildrenImpl()
Override this method (and not
GenericNode.getChildren() ) to cache the children. |
protected java.util.List<E> |
getDummyChild() |
protected abstract void |
loadCache()
loadCache is invoked to populate the child cache the first time the node
is expanded or after the cache has been cleared either by calling
clearCache() or GenericNode.forceRefresh() . |
protected E |
removeChild(java.lang.String key) |
protected abstract void |
updateCache()
updateCache is invoked when
GenericNode.getChildren() is called and the cache
has previously been loaded by loadCache() . |
equalsImpl, forceRefresh, getChildren, getElementComparator, getFullPath, getIcon, getIconOverlays, getLongLabel, getParent, getPathFrom, getRescatContext, mayHaveChildren, setAttributes, setFilterControl, whenDelete, whenDelete, whenProperties, whenRename, whenRename
addNodeListener, addNodeListenerForType, addNodeListenerForTypeHierarchy, attach, beginThreadNodeUsageCycle, callUnderReadLock, callUnderWriteLock, close, closeImpl, createSubject, delete, deleteImpl, detach, endThreadNodeUsage, endThreadNodeUsageCycle, ensureOpen, equalsImpl, getAttributes, getData, getInputStream, getShortLabel, getSubject, getTimestamp, getTimestampLoadedUnsafe, getToolTipText, getTransientProperties, getUnmodifiedTimestamp, getURL, isDirty, isLoaded, isLockHeld, isMigrating, isNew, isOpen, isReadLocked, isReadLockHeld, isReadOnly, isReadOrWriteLocked, isTrackedInNodeCache, isTrackingThreadNodeUsage, isWriteLocked, isWriteLockHeld, lockCount, markDirty, markDirtyImpl, nodeLock, notifyObservers, open, openImpl, readLock, readLockCount, readLockInterruptibly, readUnlock, refreshTimestamp, removeNodeListener, removeNodeListenerForType, removeNodeListenerForTypeHierarchy, rename, renameImpl, reportOpenException, revert, revertImpl, runUnderReadLock, runUnderWriteLock, save, saveImpl, setEventLog, setMigrating, setOpen, setReadOnly, setTimestampDirectly, setURL, toString, tryRunUnderReadLock, tryRunUnderWriteLock, unsetMigrating, upgradeLock, upgradeUnlock, urlReadOnlyChanged, writeLock, writeLockCount, writeLockInterruptibly, writeUnlock
protected ExtendedGenericNode(RescatContext rescatContext, Element parent, boolean fetchInBackground)
protected abstract void loadCache()
clearCache()
or GenericNode.forceRefresh()
.
Use addChild(java.lang.String, E)
to add each child element to the cache.protected abstract void updateCache()
GenericNode.getChildren()
is called and the cache
has previously been loaded by loadCache()
.
This method lets you review the contents of cache and add or remove entries
as needed. If the list of children is static, then this method should be a
no-op. However, if the list of children is relatively dynamic, you may
want to review the contents of the cache and add/remove children as needed.
The advantage of keeping the same child instance in the cache rather than
re-creating it frequently is that each child's own cache can be retained.protected java.util.List<E> getChildrenImpl()
GenericNode
GenericNode.getChildren()
) to cache the children.getChildrenImpl
in class GenericNode<E extends Element>
protected final void addChild(java.lang.String key, E child)
protected final E removeChild(java.lang.String key)
protected final E getChild(java.lang.String key)
protected final java.util.Set<java.lang.String> getCacheKeys()
protected final boolean containsKey(java.lang.String key)
protected final boolean containsChild(E child)
public void clearCache()
protected void forceRefreshImpl()
GenericNode
forceRefreshImpl
in class GenericNode<E extends Element>
protected java.util.List<E> getDummyChild()