public abstract class HashStructureNode extends DataContainer implements PropertyStorage
LOG_READONLYDATA_KEY| Modifier and Type | Method and Description |
|---|---|
void |
applyBatchChanges(java.lang.Runnable runnable) |
protected void |
closeImpl()
Subclasses should override this method to customize the close()
behavior.
|
abstract java.lang.Object |
copyTo(java.lang.Object target) |
protected void |
copyToImpl(HashStructureNode copy) |
HashStructure.Filter |
createDelegatingFilter() |
boolean |
equals(java.lang.Object o) |
protected boolean |
equalsImpl(HashStructureNode other) |
protected java.lang.String |
getNamespaceURI() |
protected java.lang.Object |
getObjectStoreTarget() |
HashStructure |
getProperties()
Returns a cascading HashStructure that represents this project's
persistent properties.
|
HashStructure |
getPropertiesForOverriding() |
protected java.lang.String |
getRootQName() |
HashStructure |
getUserPropertiesOnly()
Returns a HashStructure that contains only the user-private
properties (no shared properties).
|
void |
invalidateCachedKeys(java.lang.String... keys) |
boolean |
isDefault()
For HashStructureNode subtypes that keep default state in a separate Node
instance, this method should return
true if this Node is
the default instance. |
protected boolean |
isUserPropertiesEnabled() |
protected HashStructureIO |
newHashStructureIO() |
protected ObjectStore |
newObjectStore() |
protected void |
openImpl()
Subclasses should override this method to customize the open()
behavior.
|
protected void |
saveImpl()
Subclasses should override this method to customize the save()
behavior.
|
void |
saveUserProperties() |
void |
setURL(java.net.URL url)
Sets the
URL associated with this Node and
recaches the Node in the NodeFactory with
the new URL so that subsequent queries for the
Node will return successfully. |
add, add, add, canAdd, canRemove, containsChild, equalsImpl, getBaseDirectory, getChildren, getListOfChildren, getProperty, getProperty, getSharedPropertiesOnly, getURL, hashCode, mayHaveChildren, remove, remove, removeAll, removeAll, resetSubDirtyableOwners, revertImpl, setListOfChildren, setProperty, setSubDirtyableOwner, size, updateaddNodeListener, addNodeListenerForType, addNodeListenerForTypeHierarchy, addWeakNodeListener, attach, beginThreadNodeUsageCycle, callUnderReadLock, callUnderWriteLock, close, createSubject, delete, deleteImpl, detach, endThreadNodeUsage, endThreadNodeUsageCycle, ensureOpen, equalsImpl, getAttributes, getData, getIcon, getInputStream, getLongLabel, getShortLabel, getSubject, getTimestamp, getTimestampLoadedUnsafe, getToolTipText, getTransientProperties, getUnmodifiedTimestamp, isDirty, isLoaded, isLockHeld, isMigrating, isNew, isOpen, isReadLocked, isReadLockHeld, isReadOnly, isReadOrWriteLocked, isTrackedInNodeCache, isTrackingThreadNodeUsage, isWriteLocked, isWriteLockHeld, lockCount, markDirty, markDirtyImpl, nodeLock, notifyObservers, open, readLock, readLockCount, readLockInterruptibly, readUnlock, refreshTimestamp, removeNodeListener, removeNodeListenerForType, removeNodeListenerForTypeHierarchy, removeWeakNodeListener, rename, renameImpl, reportOpenException, revert, runUnderReadLock, runUnderWriteLock, save, setEventLog, setMigrating, setOpen, setReadOnly, setTimestampDirectly, toString, tryRunUnderReadLock, tryRunUnderWriteLock, unsetMigrating, upgradeLock, upgradeUnlock, urlReadOnlyChanged, writeLock, writeLockCount, writeLockInterruptibly, writeUnlockclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetAttributes, getDatagetAttributedLabel, getIcon, getLongLabel, getShortLabel, getToolTipText, toStringpublic final void setURL(java.net.URL url)
NodeURL associated with this Node and
recaches the Node in the NodeFactory with
the new URL so that subsequent queries for the
Node will return successfully.setURL in interface LocatablesetURL in class Nodeurl - The URL to set.Locatable.setURL(URL)public abstract java.lang.Object copyTo(java.lang.Object target)
protected final void copyToImpl(HashStructureNode copy)
public final HashStructure getProperties()
Property lookups on the cascading HashStructure will start in the user-private structure and, if the property value is not assigned there, fallback on the shared structure.
Property changes on the cascading HashStructure are only applied to
the user-private structure. To make changes to the shared
structure, use DataContainer.getSharedPropertiesOnly().
getProperties in interface PropertyStoragegetProperties in class DataContainerHashStructure wrapped by this PropertyStorage.public final HashStructure getPropertiesForOverriding()
public final HashStructure getUserPropertiesOnly()
getUserPropertiesOnly in class DataContainerprotected void openImpl()
throws java.io.IOException
NodeNode.open() invokes this only if the node is not open, under
write lock. The Node implementation does nothing.protected void closeImpl()
throws java.io.IOException
NodeNode.close() invokes this only if the node is open, under
write lock. The Node implementation does nothing.closeImpl in class DataContainerjava.io.IOException - if an I/O error occurred while closingprotected void saveImpl()
throws java.io.IOException
NodeNode.save() invokes this only if the node is dirty, under
write lock. The Node implementation does nothing.saveImpl in class DataContainerjava.io.IOException - if an I/O error occurred while savingpublic final void saveUserProperties()
throws java.io.IOException
java.io.IOExceptionprotected final ObjectStore newObjectStore()
newObjectStore in class DataContainerprotected HashStructureIO newHashStructureIO()
protected java.lang.String getNamespaceURI()
protected java.lang.String getRootQName()
protected final java.lang.Object getObjectStoreTarget()
getObjectStoreTarget in class DataContainerpublic boolean isDefault()
true if this Node is
the default instance.protected boolean isUserPropertiesEnabled()
true if this HashStructureNode instance should
enable support for keeping a distinct set of user properties from
shared properties. If this method returns false, the
user properties and shared properties will be the same HashStructure.
The default implementation of this method always returns false. A
subclass has to opt into enabling user properties.public final void applyBatchChanges(java.lang.Runnable runnable)
public boolean equals(java.lang.Object o)
equals in class DataContainerprotected final boolean equalsImpl(HashStructureNode other)
public HashStructure.Filter createDelegatingFilter()
public void invalidateCachedKeys(java.lang.String... keys)