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)  | 
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). 
 | 
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, mayHaveChildren, remove, remove, removeAll, removeAll, resetSubDirtyableOwners, revertImpl, setListOfChildren, setProperty, setSubDirtyableOwner, size, updateaddNodeListener, addNodeListenerForType, addNodeListenerForTypeHierarchy, 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, isWriteLocked, isWriteLockHeld, lockCount, markDirty, markDirtyImpl, nodeLock, notifyObservers, open, readLock, readLockCount, readLockInterruptibly, readUnlock, refreshTimestamp, removeNodeListener, removeNodeListenerForType, removeNodeListenerForTypeHierarchy, 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, hashCode, notify, notifyAll, wait, wait, waitgetAttributes, getDatagetIcon, 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 DataContainer
protected 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 closing
protected 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 saving
public 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)