org.cip4.jdflib.core
Class XMLDocUserData

java.lang.Object
  extended by org.cip4.jdflib.core.XMLDocUserData

public class XMLDocUserData
extends java.lang.Object

Author:
Rainer Prosi, Heidelberger Druckmaschinen *

Nested Class Summary
static class XMLDocUserData.EnumDirtyPolicy
          Enumeration of various policies
 
Field Summary
private  XMLDocUserData.EnumDirtyPolicy dirtyPolicy
           
private  java.util.HashMap<java.lang.String,KElement> m_mapTarget
          map of ID KElement pairs
private  DocumentJDFImpl m_Parent
           
private  java.lang.Object m_userData
          additional userdata that is attached by applications
private  VString m_vDirtyID
          vKString vDirtyID the vector of dirty IDs
private static boolean useIDCache
           
 
Constructor Summary
XMLDocUserData(DocumentJDFImpl parent)
          constructor
 
Method Summary
 void clearDirtyIDs()
          clear the vector of all IDs of elements that are dirty
 void clearTargets()
          clear the map of all targets
 void fillIDCache()
          clear the map of all targets
private  void fillIDCache(KElement root)
           
 VString getDirtyIDs()
          get a vector of all IDs of elements that are dirty
 java.lang.Object getDirtyPolicy()
           
 VString getDirtyXPaths()
          get the vector of dirty XPaths
 boolean getIDCache()
          get the status of the caching method for ids
 KElement getTarget(java.lang.String strID)
          Get the target with ID=strID
 java.lang.Object getUserData()
          Return the documents user data pointer.
User data allows application programs to attach extra data to JDF Documents and can be set using the function JDFDoc::SetUserData(p).
 boolean hasTargetCache()
          is target cashing enabled
 boolean isDirty(KElement element)
          checks if element is dirty
 boolean isDirty(java.lang.String strID)
          checks wheter the node with strID is dirty
 void removeTarget(KElement targetElement)
          remove the KElement from the target list
 void removeTarget(java.lang.String id)
          remove the target id from the target list
(package private)  VString setDirty(KElement e, boolean bAttribute)
          add string id uniquely to the vector of dirty ids
 void setDirtyPolicy(XMLDocUserData.EnumDirtyPolicy dirtPol)
          Set the dirty policy to dirtPol
 void setIDCache(boolean bCache)
          switch on or off the caching method for ids
 void setTarget(KElement targetElement, java.lang.String id)
          Set the target to target
 void setUserData(java.lang.Object objUserData)
          Set the user data for a document.
User data allows application programs to attach extra data to DOM nodes, and can be retrieved using the function DOM_Node::getUserData(p).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_userData

private java.lang.Object m_userData
additional userdata that is attached by applications


useIDCache

private static boolean useIDCache

m_vDirtyID

private final VString m_vDirtyID
vKString vDirtyID the vector of dirty IDs


m_Parent

private final DocumentJDFImpl m_Parent

m_mapTarget

private final java.util.HashMap<java.lang.String,KElement> m_mapTarget
map of ID KElement pairs


dirtyPolicy

private XMLDocUserData.EnumDirtyPolicy dirtyPolicy
Constructor Detail

XMLDocUserData

public XMLDocUserData(DocumentJDFImpl parent)
constructor

Parameters:
parent -
Method Detail

setIDCache

public void setIDCache(boolean bCache)
switch on or off the caching method for ids

Parameters:
bCache - if true, the ids will be cached

getIDCache

public boolean getIDCache()
get the status of the caching method for ids

Returns:
if true, the ids will be cached

hasTargetCache

public boolean hasTargetCache()
is target cashing enabled

Returns:
true if cashing is enabled

setDirtyPolicy

public void setDirtyPolicy(XMLDocUserData.EnumDirtyPolicy dirtPol)
Set the dirty policy to dirtPol

Parameters:
dirtPol - the dirtyPolicy to set

getUserData

public java.lang.Object getUserData()
Return the documents user data pointer.
User data allows application programs to attach extra data to JDF Documents and can be set using the function JDFDoc::SetUserData(p).

Returns:
The user data pointer.

setUserData

public void setUserData(java.lang.Object objUserData)
Set the user data for a document.
User data allows application programs to attach extra data to DOM nodes, and can be retrieved using the function DOM_Node::getUserData(p).

Deletion of the user data remains the responsibility of the application program; it will not be automatically deleted when the nodes themselves are reclaimed.

Because DOM_Node is not designed to be subclassed, userdata provides an alternative means for extending the information kept with nodes by an application program.

Parameters:
objUserData - the user data to be kept with the node.

getDirtyIDs

public VString getDirtyIDs()
get a vector of all IDs of elements that are dirty

Returns:
vKString - the vector of element IDs

getDirtyXPaths

public VString getDirtyXPaths()
get the vector of dirty XPaths

Returns:
VString - vector of dirty XPaths

clearDirtyIDs

public void clearDirtyIDs()
clear the vector of all IDs of elements that are dirty


setDirty

VString setDirty(KElement e,
                 boolean bAttribute)
add string id uniquely to the vector of dirty ids

Parameters:
e - the element to be added to the dirty list
bAttribute - if true, only attributes are dirty, else also sub-elements
Returns:
VString - the vector of element IDs after appending id

isDirty

public boolean isDirty(KElement element)
checks if element is dirty

Parameters:
element - element to check
Returns:
true, if element is dirty

isDirty

public boolean isDirty(java.lang.String strID)
checks wheter the node with strID is dirty

Parameters:
strID - the id of the node to be checked
Returns:
bool true if the node with ID=strID is dirty

setTarget

public void setTarget(KElement targetElement,
                      java.lang.String id)
Set the target to target

Parameters:
targetElement - the target element
id -

removeTarget

public void removeTarget(KElement targetElement)
remove the KElement from the target list

Parameters:
targetElement - the element to remove

removeTarget

public void removeTarget(java.lang.String id)
remove the target id from the target list

Parameters:
id - the target element id

getTarget

public KElement getTarget(java.lang.String strID)
Get the target with ID=strID

Parameters:
strID - the id of the target to search
Returns:
KElement target the target element

clearTargets

public void clearTargets()
clear the map of all targets


fillIDCache

public void fillIDCache()
clear the map of all targets


fillIDCache

private void fillIDCache(KElement root)
Parameters:
root -

getDirtyPolicy

public java.lang.Object getDirtyPolicy()
Returns: