Class JDFNode

java.lang.Object
org.apache.xerces.dom.NodeImpl
org.apache.xerces.dom.ChildNode
org.apache.xerces.dom.ParentNode
org.apache.xerces.dom.ElementImpl
org.apache.xerces.dom.ElementNSImpl
All Implemented Interfaces:
Serializable, Cloneable, INodeIdentifiable, IStreamWriter, IURLSetter, Element, ElementTraversal, EventTarget, Node, NodeList, TypeInfo

public class JDFNode extends JDFElement implements INodeIdentifiable, IURLSetter
This is the main node for the JDF ticket. Others are around, but this is the main one to do editing.
See Also:
  • Field Details

  • Constructor Details

    • JDFNode

      public JDFNode(org.apache.xerces.dom.CoreDocumentImpl myOwnerDocument, String qualifiedName)
      Constructor for JDFNode
      Parameters:
      myOwnerDocument -
      qualifiedName -
    • JDFNode

      public JDFNode(org.apache.xerces.dom.CoreDocumentImpl myOwnerDocument, String myNamespaceURI, String qualifiedName)
      Constructor for JDFNode
      Parameters:
      myOwnerDocument -
      myNamespaceURI -
      qualifiedName -
    • JDFNode

      public JDFNode(org.apache.xerces.dom.CoreDocumentImpl myOwnerDocument, String myNamespaceURI, String qualifiedName, String myLocalName)
      Constructor for JDFNode
      Parameters:
      myOwnerDocument -
      myNamespaceURI -
      qualifiedName -
      myLocalName -
  • Method Details

    • getURLInputStream

      public InputStream getURLInputStream()
      get the input stream that reads from URL
      Specified by:
      getURLInputStream in interface IURLSetter
      Returns:
      InputStream the input stream that the url points to, null if the url is inaccessible
    • getTheAttributeInfo

      protected AttributeInfo getTheAttributeInfo()
      definition of optional attributes in the JDF namespace
      Overrides:
      getTheAttributeInfo in class JDFElement
      Returns:
      comma separated list of optional attributes for JDF nodes
    • getTheElementInfo

      protected ElementInfo getTheElementInfo()
      Overrides:
      getTheElementInfo in class JDFElement
      Returns:
      the elementinfo
    • toString

      public String toString()
      toString - StringRepresentation of JDFNode
      Overrides:
      toString in class KElement
      Returns:
      String
      See Also:
    • init

      public boolean init()
      init - init the node
      Overrides:
      init in class JDFElement
      Returns:
      boolean: always true
      See Also:
    • ensureJobPartID

      public String ensureJobPartID()
    • isJDFRoot

      public boolean isJDFRoot()
      is this the JDF root element, i.e. it has no JDF above it
      Returns:
      true, if this is a root
    • linkNames

      public VString linkNames()
      definition of resource link names in the JDF namespace
      Returns:
      String list of resource names that may be linked
    • linkInfo

      @Deprecated public VString linkInfo()
      Deprecated.
      definition of resource link usage, cardinality and ProcessUsage in the JDF namespace
      Returns:
      String list of resource information usages that may be linked
    • getLinkInfoMap

      public LinkInfoMap getLinkInfoMap()
    • setPartStatus

      @Deprecated public boolean setPartStatus(VJDFAttributeMap vmattr, JDFElement.EnumNodeStatus status)
      Deprecated.
      use 3 parameter version
      sets the node's partition status and StatusDetails
      Parameters:
      vmattr - vector Attribute maps of partition
      status - Status to set
      Returns:
      boolean: success or not
    • setPartStatus

      public boolean setPartStatus(VJDFAttributeMap vmattr, JDFElement.EnumNodeStatus status, String statusDetails)
      sets the node's partition status and StatusDetails
      Parameters:
      vmattr - vector Attribute maps of partition
      status - Status to set
      statusDetails -
      Returns:
      boolean: success or not
    • setPartStatus

      @Deprecated public boolean setPartStatus(JDFAttributeMap mattr, JDFElement.EnumNodeStatus status)
      Deprecated.
      use 3 parameter version
      set the node's partition status if nodeinfo is partitioned, all leaves NodeStati below part are removed
      Parameters:
      mattr - Attribute map of partition
      status - Status to set
      Returns:
      boolean: success or not
    • setPartStatus

      public boolean setPartStatus(JDFAttributeMap mattr, JDFElement.EnumNodeStatus status, String statusDetails)
      set the node's partition status if nodeinfo is partitioned, all leaves NodeStati below part are removed
      Parameters:
      mattr - Attribute map of partition
      status - Status to set
      statusDetails -
      Returns:
      boolean: success or not
    • getVectorPartStatus

      public JDFElement.EnumNodeStatus getVectorPartStatus(VJDFAttributeMap vMap)
      get the status for the vector v
      Parameters:
      vMap - the vevtor of partmaps
      Returns:
      the status, null if the value is not consistent
    • getVectorPartStatusDetails

      public String getVectorPartStatusDetails(VJDFAttributeMap vMap)
      get the statusdetails for the vector v
      Parameters:
      vMap - the vevtor of partmaps
      Returns:
      the status, null if the value is not consistent
    • getPartStatus

      Deprecated.
      us 2 parameter method
      get the node's partition status
      Parameters:
      mattr - Attribute map of partition
      Returns:
      JDFElement.EnumNodeStatus: Status of the partition, null if no Status exists
    • getPartStatus

      public JDFElement.EnumNodeStatus getPartStatus(JDFAttributeMap attMap, int method)
      get the node's partition status, even if the link does not match mattr
      Parameters:
      attMap - Attribute map of partition
      method - : -1, 0 or 1; -1 min status; 0 equals, 1 max status
      Returns:
      JDFElement.EnumNodeStatus: Status of the partition, null if no Status exists
    • getPartStatusDetails

      public String getPartStatusDetails(JDFAttributeMap mattr)
      get the node's partition statusdetails
      Parameters:
      mattr - Attribute map of partition
      Returns:
      String: Status of the partition, null if no Status exists (note the null return!)
    • setPhase

      @Deprecated public JDFDoc setPhase(JDFElement.EnumNodeStatus nodeStatus, String nodeStatusDetails, JDFAutoDeviceInfo.EnumDeviceStatus deviceStatus, String deviceStatusDetails, VJDFAttributeMap vPartMap)
      Deprecated.
      use the version with deviceID
      Set the Status and StatusDetails of this node update the PhaseTime audit or append a new phasetime as appropriate also generate a status JMF
      Parameters:
      nodeStatus - the new status of the node
      nodeStatusDetails - the new statusDetails of the node
      deviceStatus - the new status of the device
      deviceStatusDetails - the new statusDetails of the device
      vPartMap - the vector of parts to that should be set
      Returns:
      The root element representing the PhaseTime JMF
    • getStatusPartMapVector

      public VJDFAttributeMap getStatusPartMapVector()
      return the partMapVector defined by nodeInfo partitioning null if nodeInfo is not partitioned or if the node status is neither pool nor part
      Returns:
      the vector of PartMaps
    • getPartMapVector

      public VJDFAttributeMap getPartMapVector()
      return the partMapVector defined in AncestorPool, null if no AncestorPool exists, or AncestorPool has no Part elements
      Overrides:
      getPartMapVector in class JDFElement
      Returns:
      the vector of PartMaps
    • getNodeInfoPartMapVector

      public VJDFAttributeMap getNodeInfoPartMapVector()
      return the partMapVector defined in AncestorPool or NodeInfo or output resource in that sequence, null if no NodeInfo exists, or NodeInfo has no Part elements
      Returns:
      the vector of PartMaps
    • getActivation

      @Deprecated public JDFNode.EnumActivation getActivation()
      Deprecated.
      060406 use getActivation(false)
      getActivation
      Returns:
      EnumActivation
    • getActivation

      public JDFNode.EnumActivation getActivation(boolean bWalkThroughAncestors)
      get attribute Activation; defaults to Active
      Parameters:
      bWalkThroughAncestors - if true, walks through all ancestors which may overwrite the local activation state; if false only the explicit activation, if any, is returned
      Returns:
      the enumeration value of the attribute
    • setActivation

      public void setActivation(JDFNode.EnumActivation bActive)
      Set attribute Activation
      Parameters:
      bActive - the value to set the attribute to
    • addModified

      public JDFAudit addModified(String by)
      addModified
      Parameters:
      by -
      Returns:
      JDFAudit
    • getResource

      public JDFResource getResource(String strName, JDFResourceLink.EnumUsage usage, JDFNode.EnumProcessUsage processUsage, int i)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage -
      i - the nuber of matches to skip, if negative, count backwards
      Returns:
      the matching resource, null if none matches
    • getResourceRoot

      public JDFResource getResourceRoot(String strName, JDFResourceLink.EnumUsage usage, int i)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      i - the nuber of matches to skip, if negative, count backwards
      Returns:
      the matching resource, null if none matches
    • getResource

      public JDFResource getResource(String strName, JDFResourceLink.EnumUsage usage, int i)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      i - the number of matches to skip, if negative, count backwards
      Returns:
      the matching resource, null if none matches
    • getResource

      public JDFResource getResource(String strName, JDFResourceLink.EnumUsage usage)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      Returns:
      the matching resource, null if none matches
    • getResource

      public JDFResource getResource(String strName)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name
      Returns:
      the matching resource, null if none matches
    • getResource

      @Deprecated public JDFResource getResource(String strName, JDFResourceLink.EnumUsage usage, JDFNode.EnumProcessUsage processUsage, int i, String namespaceURI)
      Deprecated.
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      i - the nuber of matches to skip, if negative, count backwards
      namespaceURI - if null and no prefix, assume JDF namespace, else correct lvl 2 handling
      Returns:
      the matching resource, null if none matches
    • getCreateResource

      public JDFResource getCreateResource(String strName, JDFResourceLink.EnumUsage usage, String processUsage)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      Returns:
      the matching resource, null if none matches
    • getLink

      public JDFResourceLink getLink(String strName, JDFResourceLink.EnumUsage usage, String processUsage)
      Get the resource link with name=strName - convenience
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      Returns:
      the matching resource, null if none matches
    • getLink

      public JDFResourceLink getLink(String strName, JDFResourceLink.EnumUsage usage, String processUsage, String namespaceURI, int i)
      Get the resource link with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      i - the nuber of matches to skip, if negative, count backwards
      namespaceURI - if null and no prefix, assume JDF namespace, else correct lvl 2 handling
      Returns:
      the matching resource, null if none matches
    • getResource

      public JDFResource getResource(String strName, JDFResourceLink.EnumUsage usage, String processUsage, String namespaceURI, int i)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      i - the nuber of matches to skip, if negative, count backwards
      namespaceURI - if null and no prefix, assume JDF namespace, else correct lvl 2 handling
      Returns:
      the matching resource, null if none matches
    • getResourceLeaves

      public List<JDFResource> getResourceLeaves(String strName, JDFResourceLink.EnumUsage usage)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      i - the nuber of matches to skip, if negative, count backwards
      namespaceURI - if null and no prefix, assume JDF namespace, else correct lvl 2 handling
      Returns:
      the matching resource, null if none matches
    • getResourceLeaves

      public List<JDFResource> getResourceLeaves(String strName, JDFResourceLink.EnumUsage usage, String processUsage, String namespaceURI, int i)
      Get the linked resource with name=strName
      Parameters:
      strName - the resource name if strName has a prefix, the explicit DOM level 1 resource with prefix will be searched
      usage - the ResourceLink Usage, if null either in or out are accepted
      processUsage - the processUsage of the respective resource
      i - the nuber of matches to skip, if negative, count backwards
      namespaceURI - if null and no prefix, assume JDF namespace, else correct lvl 2 handling
      Returns:
      the matching resource, null if none matches
    • getCreateResource

      public JDFResource getCreateResource(String strName, JDFResourceLink.EnumUsage usage, int i)
      Get the linked resource with name=strName; create it if it does not exist
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      i - the nuber of matches to skip, if negative, count backwards
      Returns:
      the matching resource,
      Throws:
      JDFException - if resource does not exist and EnumUsage is null
    • getCreateResource

      public JDFResource getCreateResource(String strName, JDFResourceLink.EnumUsage usage)
      Get the linked resource with name=strName; create it if it does not exist
      Parameters:
      strName - the resource name
      usage - the ResourceLink Usage, if null either in or out are accepted
      i - the nuber of matches to skip, if negative, count backwards
      Returns:
      the matching resource,
      Throws:
      JDFException - if resource does not exist and EnumUsage is null
    • addResource

      @Deprecated public JDFResource addResource(String strName, JDFResource.EnumResourceClass resClass, boolean bInput, JDFNode resRoot, boolean bLink, String nameSpaceURI)
      Deprecated.
      use addResource(String strName, JDFResource.EnumResourceClass resClass, EnumUsage usage, EnumProcessUsage processUsage, JDFNode resRoot, String nameSpaceURI)
      addResource - add a resource to resroot and link it to this process
      Parameters:
      strName - the localname of the resource
      resClass - the JFD/@Class of the resource; if null, find from factory
      bInput - if true, the resource is linked as input, else output
      resRoot - the node where to add the Resource, if null defaults to this. Note that the link is always in this
      bLink - if true, creat a ResourceLink to the newly created resource
      nameSpaceURI - the nsURI of the resource, if null take the default ns
      Returns:
      JDFResource
    • addResource

      public JDFResource addResource(String strName, JDFResourceLink.EnumUsage usage)
      addResource - add a resource to resroot and link it to this process utility with the minimal parameter set
      Parameters:
      strName - the localname of the resource
      usage - the Usage attribute of the ResourceLink. If null, the resource is not linked
      Returns:
      JDFResource the new resource
    • addResource

      public JDFResource addResource(String strName, JDFResource.EnumResourceClass resClass, JDFResourceLink.EnumUsage usage, JDFNode.EnumProcessUsage processUsage, JDFNode resRoot, String nameSpaceURI, JDFResource toReplace)
      addResource - add a resource to resroot and link it to this process
      Parameters:
      strName - the localname of the resource
      resClass - the JFD/@Class of the resource; if null, find the resource class from factory
      usage - the Usage attribute of the ResourceLink. If null, the resource is not linked
      processUsage - the processUsage attribute of the link to the resource
      resRoot - the node to add the Resource to, defaults to 'this' if null. Note that the link is always in 'this'
      nameSpaceURI - the nsURI of the resource, if null take the default ns
      toReplace - the resource to replace by this - also add a resource audit
      Returns:
      JDFResource
    • replaceUpdate

      protected void replaceUpdate(JDFResourceLink.EnumUsage usage, JDFResource toReplace, JDFResource r)
    • linkResource

      @Deprecated public JDFResourceLink linkResource(JDFResource jdfResource, boolean input, boolean bForce)
      Deprecated.
      use linkResource(enum)
      LinkResource: create a resourceLink in the resourceLinkPool that refers to the resource jdfResource also sets the appropriate combined process index
      Parameters:
      jdfResource - the resource or partition to link to
      input - it true, link as input, else link as output
      bForce - if true, create a new link, even if an existing link already exists
      Returns:
      JDFResourceLink the new link
    • linkResource

      public JDFResourceLink linkResource(JDFResource jdfResource, JDFResourceLink.EnumUsage usage, JDFNode.EnumProcessUsage processUsage)
      LinkResource: create a resourceLink in the resourceLinkPool that refers to the resource jdfResource also sets the appropriate combined process index
      Parameters:
      jdfResource - the resource or partition to link to
      usage - Usage of the resource
      processUsage - processUsage of the resource
      Returns:
      JDFResourceLink the new link
    • ensureLink

      public JDFResourceLink ensureLink(JDFResource jdfResource, JDFResourceLink.EnumUsage usage, JDFNode.EnumProcessUsage processUsage)
      Parameters:
      jdfResource -
      usage -
      processUsage -
      Returns:
    • ensureLinkPU

      public JDFResourceLink ensureLinkPU(JDFResource jdfResource, JDFResourceLink.EnumUsage usage, String processUsage)
      ensureLink: if it does not yet exist, create a resourceLink in the resourceLinkPool that refers to the resource jdfResource also sets the appropriate combined process index
      Parameters:
      jdfResource - the resource or partition to link to
      usage - Usage of the resource
      processUsage - processUsage of the resource
      Returns:
      JDFResourceLink the link
    • ensureValidRefsPosition

      public void ensureValidRefsPosition(JDFResource r)
      ensure that the linked resource and all referenced resources are correctly positioned
      Parameters:
      r -
    • ensureValidResPosition

      public void ensureValidResPosition(JDFResource res)
      Parameters:
      res -
    • getResourceLinks

      @Deprecated public VElement getResourceLinks()
      Deprecated.
      use getResourceLinks(null)
      get the resourcelinks in the resourcepool of this node
      Returns:
      VElement the vector of ResorceLinks:
    • getResourceLinks

      public VElement getResourceLinks(JDFAttributeMap mLinkAtt)
      get the resourcelinks in the resourcepool of this node
      Parameters:
      mLinkAtt - the map of attributes
      Returns:
      VElement - the vector of ResourceLinks, null if none exist:
    • getLinkedResources

      public VElement getLinkedResources(JDFAttributeMap mResAtt, boolean bFollowRefs)
      get the linked resources matching certain conditions
      combines all linked resources from ResourceLinkPool, CustomerInfo, NodeInfo and AuditPool
      Parameters:
      mResAtt - map of Resource attributes to search for
      bFollowRefs - true if internal references shall be followed
      Returns:
      vResource: vector with all elements matching the conditions
    • getUnlinkedResources

      @Deprecated public VElement getUnlinkedResources(boolean bLocal)
      Deprecated.
      - Use @see UnlinkFinder
      get all the unlinked resources in this node
      TODO: also include resources that are only linked by other unlinked resources
      Parameters:
      bLocal - if true, only in the local resourcepool, else also recurse into children
      Returns:
      vElement vector with all
    • getPredecessors

      @Deprecated public Vector getPredecessors(boolean bPre)
      Deprecated.
      use getPredecessors(bPre,false);
      get a vector of all direct predecessor or following nodes, depending on bPre
      Parameters:
      bPre - if true get predecessors, if false get following nodes
      Returns:
      Vector of pre / post decessor nodes
    • getPredecessors

      public VElement getPredecessors(boolean bPre, boolean bDirect)
      get a vector of all direct predecessor or following nodes, depending on bPre
      Parameters:
      bPre - if true get predecessors, if false get following nodes
      bDirect - if true, only return the direct condidates
      Returns:
      Vector of pre / post decessor nodes
    • checkPredecessorResource

      protected void checkPredecessorResource(boolean bPre, boolean bDirect, HashSet<KElement> h, HashSet<org.cip4.jdflib.node.JDFNode.ResPart> done, KElement resElem)
    • isExecutable

      public boolean isExecutable(JDFAttributeMap partMap, boolean bCheckChildren)
      Parameters:
      partMap -
      bCheckChildren -
      Returns:
    • getProcessStatus

      @Deprecated public JDFElement.EnumNodeStatus getProcessStatus(JDFAttributeMap mattr)
      Deprecated.
      use getPartStatus()
      gets the status of a certain partition of the node. The partition is given by a map of partition attributes or by a JDFResource object containing such a map.
      Parameters:
      mattr -
      Returns:
    • resourceTypeEqual

      public static boolean resourceTypeEqual(JDFResource res1, JDFResource res2)
      ResourceTypeEqual
      Checks whether the given resources are of the same type. Resources are considered equal by this method if they have identical Class attributes and their resource type is equal. Basically the resource type is the node name.
      Two resources with different node names are considered equal if their Type attributes from the ToolConfig.xml file are equal. This is not implemented yet. Instead of it is hard-coded that "RunList" and "HDM:ReportList" are of the same type.
      Parameters:
      res1 - first resource
      res2 - second resource
      Returns:
      boolean
    • getvJDFNode

      public VElement getvJDFNode(String task, JDFNode.EnumActivation active, boolean bDirect)
      Get a vector of all JDF children with type nodeType
      Parameters:
      task - node type
      active - Activation of the requested nodes, if null ignore activation
      bDirect - if true, get direct children only, else recurse down the tree and include this, i.e. return a complete tree starting at this
      Returns:
      VElement of JDF nodes
    • getvJDFNode

      @Deprecated public Vector getvJDFNode(String task, boolean active)
      Deprecated.
      use public Vector getvJDFNode(task, JDFNode.EnumActivation.Unknown, false)
      getvJDFNode
      Parameters:
      task -
      active -
      Returns:
      Vector of JDFNodes
    • isActive

      @Deprecated public boolean isActive()
      Deprecated.
      use fitsActivation
      isActive
      Returns:
      boolean
    • isActive

      @Deprecated public boolean isActive(boolean bWalkThroughAnchestors)
      Deprecated.
      use fitsActivation
      Parameters:
      bWalkThroughAnchestors -
      Returns:
      boolean
    • fitsActivation

      public boolean fitsActivation(JDFNode.EnumActivation active, boolean bWalkThroughAncestors)
      the activation state of this node
      Parameters:
      active -
      bWalkThroughAncestors - if true, walks through all anchestors which may overwrite the local activation state
      Returns:
      boolean true if the activations are compatible
    • removeNode

      @Deprecated public void removeNode(boolean bLeaveSubmit)
      Deprecated.
      removeNode - remove a node. If bLeaveSubmit is true, leave a stub with the id and status field
      Parameters:
      bLeaveSubmit - if true, leave a stub with id and status field
    • addTask

      @Deprecated public JDFNode addTask(String task, VString tasks)
      Deprecated.
      use addJDFNode
      addTask
      Parameters:
      task -
      tasks -
      Returns:
      JDFNode
    • addTask

      @Deprecated public JDFNode addTask(String task)
      Deprecated.
      use addJDFNode
      addTask
      Parameters:
      task -
      Returns:
      JDFNode
    • setType

      public void setType(JDFNode.EnumType typ)
      setType set the type attribute to the enumeration type also set xsi:type etc
      Parameters:
      typ - the new type to set this to
    • setType

      public boolean setType(String newType, boolean checkName)
      setType set the type attribute to the string type
      Parameters:
      newType - the new type to set this to
      checkName - if true, check whether this type exists and throw an exception if not
      Returns:
      ignore, always true
      Throws:
      JDFException - if type is not a known JDF type
    • getType

      public String getType()
      getType - get node Type
      Returns:
      String - the type
    • getTypesString

      public String getTypesString()
      getType - get node Types or Type attribute
      Returns:
      String - the type
    • fixNiCi

      public boolean fixNiCi(JDFElement.EnumVersion version)
      fix NodeInfo and CustomerInfo
      Parameters:
      version - target version
      Returns:
    • isValid

      public boolean isValid(JDFElement.EnumValidationLevel level)
      typesafe validator, checks whether all resource links are ok
      Overrides:
      isValid in class JDFElement
      Parameters:
      level - validation level
      Returns:
      true if this node is valid
    • hasInvalidLinks

      public boolean hasInvalidLinks(JDFElement.EnumValidationLevel level)
      true if invalid Links are in this element
      Parameters:
      level - validation level
      Returns:
      boolean - true if unknown Links are in this element
    • getInvalidLinks

      public VString getInvalidLinks(JDFElement.EnumValidationLevel level, int nMax)
      typesafe validator utility
      Parameters:
      level - validation level
      nMax - max. size of the returned vector
      Returns:
      vector of invalid Link names
    • getStatusSynch

      public JDFNode.StatusSynch getStatusSynch()
      get the status synchronizer
      Returns:
    • updatePartStatus

      @Deprecated public void updatePartStatus(VJDFAttributeMap vMap, boolean updateKids, boolean updateParents)
      Deprecated.
      use 4 parameter version
      update the node status or nodeinfo/@NodeStatus for all partitions specified in vMap
      Parameters:
      vMap - the map of partitions to apply the update algorithm to
      updateKids - if true, also recursively update all kids, if false move to root without updating kids
      updateParents - if true, recurse down to the root, updatimg the satus based on modifications in this
    • updatePartStatus

      public void updatePartStatus(VJDFAttributeMap vMap, boolean updateKids, boolean updateParents, int method)
      update the node status or nodeinfo/@NodeStatus for all partitions specified in vMap
      Parameters:
      vMap - the map of partitions to apply the update algorithm to
      updateKids - if true, also recursively update all kids, if false move to root without updating kids
      updateParents - if true, recurse down to the root, updatimg the satus based on modifications in this
      method - : -1, 0 or 1; -1 min status; 0 equals, 1 max status
    • upDateStatus

      @Deprecated public void upDateStatus()
      Deprecated.
      use updatePartStatus(VJDFAttributeMAP)
      UpDateStatus - update the status of a node depending on its resources and child nodes
    • getJobPart

      public JDFNode getJobPart(NodeIdentifier nodeID)
      getJobPart - get a child node with a given jobpartid
      Parameters:
      nodeID - the NodeIdentifier of the job part
      Returns:
      JDFNode
    • getJDF

      public JDFNode getJDF(int iSkip)
      getJobPart - get a child node with a given jobpartid
      Parameters:
      nodeID - the NodeIdentifier of the job part
      Returns:
      JDFNode
    • getJobPart

      public JDFNode getJobPart(String jobPartID, String jobID)
      getJobPart - get a child node with a given jobpartid
      Parameters:
      jobPartID - the ID of the part job
      jobID - the ID of the job
      Returns:
      JDFNode
    • checkSpawnedResources

      public Collection<JDFResource> checkSpawnedResources(VString vRWResources, VJDFAttributeMap vSpawnParts)
      add any resources that live in ancestor nodes to this node
      Parameters:
      vRWResources - vector of resource names and Usage / ProcessUsage that are spawned as rw
      the format is one of:
    • ResName

    • ResName:Input

    • ResName:Output

    • ResName:ProcessUsage

    • ID
    • vSpawnParts - vector of JDFAttributeMaps that describe the parts to spawn
      Returns:
      HashSet of resources or resource partitions that would be spawned rw multiple times
    • getAllRefs

      public HashSet<JDFElement> getAllRefs(HashSet<JDFElement> vDoneRefs, boolean bRecurse)
      get inter-resource linked resource refs and resourcs links
      Overrides:
      getAllRefs in class JDFElement
      Parameters:
      vDoneRefs -
      bRecurse - if true, also return references linked from the resource pool directly
      Returns:
      HashSet of referenced resource refs and links
    • setCombined

      public void setCombined(VString vCombiNodes)
      setCombined - set the combined node types to the values in vCombiNodes
      Parameters:
      vCombiNodes -
    • getCombinedTypes

      @Deprecated public Vector getCombinedTypes()
      Deprecated.
      use getTypes() or getEnumTypes()
      getCombinedTypes - get the list of combined types if this is a combined node
      Returns:
      Vector
    • addComponent

      @Deprecated public JDFComponent addComponent(String cType, boolean bInput, JDFNode resRoot, boolean bLink)
      Deprecated.
      use standard addResource
      addComponent - add a component resource to resroot and link it to this process
      Parameters:
      cType -
      bInput -
      resRoot -
      bLink -
      Returns:
      JDFComponent
    • setSpawnID

      public void setSpawnID(String value)
      Set attribute SpawnID
      Parameters:
      value - the value to set the attribute to
    • spawn

      @Deprecated public JDFNode spawn(String parentURL, String spawnURL, VString vRWResources_in, VJDFAttributeMap vSpawnParts, boolean bSpawnROPartsOnly, boolean bCopyNodeInfo, boolean bCopyCustomerInfo, boolean bCopyComments)
      Deprecated.
      - use JDFSpawn class ( see code below)
      spawn a node; url is the file name of the new node, vRWResourceUsage is the vector of Resources Usages (or Names if no usage exists for the process) that are spawned RW, all others are spawned read only; vParts is the vector of part maps that are to be spawned, defaults to no part, i.e. the whole thing
      Parameters:
      parentURL -
      spawnURL - URL of the spawned JDF file
      vRWResources_in - vector of resource names and Usage / ProcessUsage that are spawned as rw
      the format is one of:
      ResName:Input
      ResName:Output
      ResName:ProcessUsage
      vSpawnParts - vector of mAttributes that describe the parts to spawn, only valid PartIDKeys are allowed
      bSpawnROPartsOnly - if true, only the parts of RO resources that are specified in vParts are spawned, else the complete resource is spawned
      bCopyNodeInfo - copy the NodeInfo elements into the Ancestors
      bCopyCustomerInfo - copy the CustomerInfo elements into the Ancestors
      bCopyComments - copy the Comment elements into the Ancestors
      Returns:
      The spawned node
      Since:
      050831 added bCopyComments
    • spawnInformative

      @Deprecated public JDFNode spawnInformative(String parentURL, String spawnURL, VJDFAttributeMap vSpawnParts, boolean bSpawnROPartsOnly, boolean bCopyNodeInfo, boolean bCopyCustomerInfo, boolean bCopyComments)
      Deprecated.
      use JDFSpawn.spawnInformative()
      spawn a node in informative mode without modifying the root JDF; url is the file name of the new node, the parameters except for the list of rw resources, which are by definition empty, are identical to those of Spawn vRWResourceUsage is the vector of Resources Usages, Resource Names or Resource IDs that are spawned RW, all others are spawned read only; vParts is the vector of part maps that are to be spawned, defaults to no part, i.e. the whole thing
      Parameters:
      parentURL -
      spawnURL - URL of the spawned JDF file
      vSpawnParts - vector of mAttributes that describe the parts to spawn
      bSpawnROPartsOnly - if true, only the parts of RO resources that are specified in vParts are spawned, else the complete resource is spawned
      bCopyNodeInfo - copy the NodeInfo elements into the Ancestors
      bCopyCustomerInfo - copy the CustomerInfo elements into the Ancestors
      bCopyComments - copy the Comment elements into the Ancestors
      Returns:
      JDFDoc - the spawned node's owner document.
    • unSpawn

      @Deprecated public JDFNode unSpawn(String spawnID)
      Deprecated.
      use new JDFSpawn(this).unSpawn(spawnID);
      Method unSpawn. undo a spawn, removing any and all bookkeeping of that spawning
      Parameters:
      spawnID - spawnID of the spawn to undo
      Returns:
      the fixed unspawned node
    • mergeNode

      public JDFNode mergeNode(JDFNode e, boolean bDelete)
      merge nodes in a way that no duplicate elements are created
      attention !! this kills pools !!
      Parameters:
      e - the node element to merge with the current node
      bDelete - if true KElement e will be deleted
      Returns:
      JDFNode: the merged node element
    • getLink

      @Deprecated public JDFResourceLink getLink(JDFResource r, boolean bInput)
      Deprecated.
      use getLink(resource, EnumUsage)
      getLink - get the resourcelink that resides in the ResourceLinkPool of this node and references the resource r
      Parameters:
      r - the resource you are searching a link for
      bInput -
      Returns:
      JDFResourceLink - the resource link you was searching for or if not found, a new empty JDFResource Link
    • getLink

      getLink - get the resourcelink that resides in the ResourceLinkPool of this node and references the resource r
      Parameters:
      r - the resource you are searching a link for
      usage - the usage attribute of the link. If null, both input and output resourelinks will be returned
      Returns:
      JDFResourceLink - the resource link you was searching for or if not found, null
    • getLinkedResourceVector

      public VElement getLinkedResourceVector(JDFResourceLink.EnumUsage usage, String resName, JDFNode.EnumProcessUsage procUsage, boolean expandLeaves)
      get the vector of all resource leaves linked to a resource
      Parameters:
      usage -
      resName -
      procUsage -
      expandLeaves - if true expand to the lowest leaves
      Returns:
    • getRoot

      public JDFNode getRoot()
      getRoot - this function returns the root of the JDF document
      Returns:
      JDFNode - the root node of the document
    • getAncestorIDs

      public VString getAncestorIDs()
      Get an ordered list of all Parents ID attributes:
      the last entry is the direct parent, the last-1 entry is the grandparent etc.
      This is analog to the definition of JDFAncestorPool
      Returns:
      vector of strings representing the node IDs
    • getAncestorNode

      @Deprecated public JDFNode getAncestorNode(int nSkip)
      Deprecated.
      use getParentJDF()
      getAncestorNode - return the ancestor node
      Parameters:
      nSkip -
      Returns:
      JDFNode - the ancestor node
    • getAncestorAttribute

      public String getAncestorAttribute(String attrib, String nameSpaceURI, String def)
      searches for the first element occurence in the parent nodes and then the ancestor elements of the root ancestorpool
      Parameters:
      attrib - the element name
      nameSpaceURI - the XML-namespace
      def - the default value, if there is no ancestor attribute
      Returns:
      String - value of attribute found, value of def if not available
    • hasAncestorAttribute

      public boolean hasAncestorAttribute(String attrib, String nameSpaceURI)
      true if a non default attribute occurence in the parent nodes and then the ancestor elements of the root ancestorpool exists
      Parameters:
      attrib - the attribute name
      nameSpaceURI - the XML-namespace
      Returns:
      true if the attribute exists
    • hasActivation

      public boolean hasActivation(boolean bInherit)
      Check existance of attribute Activation
      Parameters:
      bInherit - recurse through ancestors and Ancestor elements of the AncestorPool when searching
      Returns:
      true if attribute Activation exists
    • hasJobID

      @Deprecated public boolean hasJobID(boolean bInherit)
      Deprecated.
      Check existence of attribute JobID
      Parameters:
      bInherit - recurse through ancestors and Ancestor elements of the AncestorPool when searching
      Returns:
      true if attribute JobID exists
    • getAncestorElement

      public KElement getAncestorElement(String element, String nameSpaceURI)
      searches for the first element occurence in this and the ancestor elements
      Parameters:
      element - the attribute name
      nameSpaceURI - the XML-namespace
      Returns:
      the KElement found
      Since:
      180502
    • hasAncestorElement

      @Deprecated public boolean hasAncestorElement(String element, String nameSpaceURI)
      Deprecated.
      true if a non default attribute occurs in the parent nodes and then the ancestor elements of the root ancestorpool exists
      Parameters:
      element - the attribute name
      nameSpaceURI - the XML-namespace
      Returns:
      boolean - true if the attribute exists
      Since:
      180502
    • addParameter

      @Deprecated public JDFResource addParameter(String strName, boolean bInput, JDFNode resRoot, boolean bLink)
      Deprecated.
      use addResource(strName, JDFResource.EnumClass.Parameter, bInput, resRoot, bLink, null)
      addParameter - add a parameter resource to resroot and link it to this process
      Parameters:
      strName -
      bInput -
      resRoot -
      bLink -
      Returns:
      JDFResource
    • addConsumable

      @Deprecated public JDFResource addConsumable(String strName, boolean bInput, JDFNode resRoot, boolean bLink)
      Deprecated.
      use addResource(name, null, true, null, true)
      addConsumable - add a consumable resource to resroot and link it to this process
      Parameters:
      strName -
      bInput -
      resRoot -
      bLink -
      Returns:
      JDFResource
    • addHandling

      @Deprecated public JDFResource addHandling(String strName, boolean bInput, JDFNode resRoot, boolean bLink)
      Deprecated.
      use addResource(name, null, true, null, true)
      addHandling - add a handling resource to resroot and link it to this process
      Parameters:
      strName -
      bInput -
      resRoot -
      bLink -
      Returns:
      JDFResource
    • isCombined

      public boolean isCombined()
      isCombined - is this a Combined resource type ?
      Returns:
      boolean - true if it is, otherwise false
    • isProduct

      public boolean isProduct()
      Is this a product node type ?
      Returns:
      boolean - true if this is a product node
    • isProcessGroup

      public boolean isProcessGroup()
      Is this a Combined node type ?
      Returns:
      boolean - true if this is a combined node
    • isGroupNode

      public boolean isGroupNode()
      Is this a group node type (ProcessGroup or Product)?
      Returns:
      boolean - true if this is a combined node
    • isTypesNode

      public boolean isTypesNode()
      Is this a group node type that allows @Types (ProcessGroup or Combined)?
      Returns:
      boolean - true if this is a combined node
    • getIDPrefix

      public String getIDPrefix()
      getIDPrefix
      Overrides:
      getIDPrefix in class KElement
      Returns:
      the ID prefix of JDFNode
    • getJobID

      public String getJobID(boolean bInherit)
      get string attribute JobID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      String - attribute value
    • getJobPartID

      @Deprecated public String getJobPartID()
      Deprecated.
      use getJobPartID(false);
      get string attribute JobID
      Returns:
      attribute value
    • getJobPartID

      public String getJobPartID(boolean bInherit)
      get string attribute JobID
      Parameters:
      bInherit - if true recurse through ancestors when searching
      Returns:
      String - attribute value
    • setJobPartID

      public void setJobPartID(String jobPartID)
      Set attribute JobPartID
      Parameters:
      jobPartID - the value to set the attribute to
    • setJobID

      public void setJobID(String value)
      set attribute JobID
      Parameters:
      value - the value to set the attribute to
    • hasStatusPool

      @Deprecated public boolean hasStatusPool()
      Deprecated.
      test element StatusPool existence
      Returns:
      boolean - true if a matching element exists
    • getSpawnID

      @Deprecated public String getSpawnID()
      Deprecated.
      use getSpawnID(boolean)
      get string attribute SpawnID
      Returns:
      String - attribute value
    • getSpawnID

      public String getSpawnID(boolean bInherit)
      get string attribute SpawnID
      Parameters:
      bInherit - if true recurse through ancestors when searching
      Returns:
      String - attribute value
    • removeSpawnID

      @Deprecated public void removeSpawnID()
      Deprecated.
      remove attribute SpawnID
    • removeAncestorPool

      @Deprecated public void removeAncestorPool()
      Deprecated.
      remove element AncestorPool
    • getParentJDFNode

      @Deprecated public JDFNode getParentJDFNode()
      Deprecated.
      use getParentJDF()
      get the Parent JDFNode, null if the parent element is the document or an envelope xml
      Returns:
      JDFNode: the parent JDF, null if this is the root JDF
    • getParentJDF

      public JDFNode getParentJDF()
      get the Parent JDFNode, null if the parent element is the document or an envelope xml
      Overrides:
      getParentJDF in class JDFElement
      Returns:
      JDFNode: the parent JDF, null if this is the root JDF
    • getParentProduct

      public JDFNode getParentProduct()
      get the Parent JDFNode with Type=Product, null if the parent element is the document or an envelope xml or no product exists
      Returns:
      JDFNode: the parent JDF, null if this is the root JDF
    • hasType

      @Deprecated public boolean hasType()
      Deprecated.
      use inline hasAttribute
      Check existence of attribute Type
      Returns:
      boolean - true if attribute Type exists
    • containsType

      public boolean containsType(String type)
      Check whether typ or types contains type
      Parameters:
      type - the type to check for
      Returns:
      boolean - true if attribute Type is either in Type or types always true for null
    • getInsertLinkVector

      public VString getInsertLinkVector(int nMax)
      get a vector of Link names that may be inserted in this element if the links need a processusage, the format is LinkName:ProcessUsage
      Parameters:
      nMax - maximum size of the returned vector
      Returns:
      vector of strings that contains insertable link names
    • getEnumProcessUsage

      @Deprecated public JDFNode.EnumProcessUsage getEnumProcessUsage(String info, int i)
      Deprecated.
      get the resource that matches the typesafe link described by i
      Parameters:
      info - the LinkInfo string for this name
      i - the index of the pu to find
      Returns:
      the enumerated process usage of this checked link
    • hasAncestorPool

      @Deprecated public boolean hasAncestorPool()
      Deprecated.
      use numChildElements(ElementName.ANCESTORPOOL, null) > 0;
      test element AncestorPool existance
      Returns:
      bool true if a matching element exists
    • hasProjectID

      @Deprecated public boolean hasProjectID(boolean bInherit)
      Deprecated.
      Check existance of attribute ProjectID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      true if attribute ProjectID exists
    • hasProjectID

      @Deprecated public boolean hasProjectID()
      Deprecated.
      Check existence of attribute ProjectID
      Returns:
      true if attribute ProjectID exists
    • setProjectID

      public void setProjectID(String strValue)
      set attribute ProjectID
      Parameters:
      strValue - the value to set the attribute to
    • getProjectID

      public String getProjectID(boolean bInherit)
      get string attribute ProjectID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      the value of the attribute
    • getProjectID

      @Deprecated public String getProjectID()
      Deprecated.
      use getProjectID(boolean bInherit)
      get string attribute ProjectID
      Returns:
      the value of the attribute
    • isValidLink

      public boolean isValidLink(JDFElement.EnumValidationLevel level, JDFResourceLink rl)
      isValidLink check whether an resLink is legal for this class
      Parameters:
      level - the checking level
      rl - the JDFResourceLink to check
      doneNameList - Vector of Integer
      doneIndexList - Vector of Integer
      Returns:
      true if valid
    • isValidLink

      public boolean isValidLink(String resName, JDFResourceLink.EnumUsage usage, String processUsage)
      isValidLink check whether an resLink is legal for this class
      Parameters:
      resName -
      usage -
      processUsage -
      Returns:
      true if valis
    • getMissingLinks

      @Deprecated public VString getMissingLinks(int nMax)
      Deprecated.
      use getMissingLinkVector
      Parameters:
      nMax -
      Returns:
      VString
    • getMatchingLinks

      public VElement getMatchingLinks(String resName, boolean bLink, JDFNode.EnumProcessUsage processUsage)
      get the links that match the typesafe resource name if the Resource type is not defined for the process represented by this node see chapter 6 JDFSpec, then the links are ignored
      Parameters:
      resName - of the resource to remove
      bLink - if false, returns the linked resources, else if true, returns the ResourceLink elements
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      Returns:
      vector of resourcelink elements
    • getMissingLinkVector

      public VString getMissingLinkVector(int nMax)
      get a vector of Link names that are missing in this element
      if the links need a processusage, the format is LinkName:ProcessUsage
      Parameters:
      nMax - maximum size of the returned vector
      Returns:
      VString vector of strings that contains missing Link names
    • getMatchingResource

      @Deprecated public JDFResource getMatchingResource(String resName, int processUsage, JDFAttributeMap partMap, int pos)
      Deprecated.
      use getMatchingResource(String resName, EnumProcessUsage processUsage, JDFAttributeMap partMap, int pos))
      Parameters:
      resName -
      processUsage -
      partMap -
      pos -
      Returns:
      JDFResource
    • getMatchingResource

      public JDFResource getMatchingResource(String resName, JDFNode.EnumProcessUsage processUsage, JDFAttributeMap partMap, int pos)
      get the resource that matches a typesafe resource name if the Resource type is not defined for the process represented by this node see chapter 6 JDFSpec, then the resource is ignored
      Parameters:
      resName - of the resource to remove
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      partMap -
      pos - the position of the link if multiple matching links exist
      Returns:
      JDFResource - the resourcelink element
    • getMatchingLink

      public JDFResourceLink getMatchingLink(String resName, JDFNode.EnumProcessUsage processUsage, int pos)
      get the link that matches the typesafe resource name
      if the Resource type is not defined for the process represented by this node, the link is ignored (see JDF Spec Chapter 6)
      Parameters:
      resName - name of the resource to remove
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      pos - the position of the link (if multiple matching links exist)
      Returns:
      JDFResourceLink - the resourcelink
    • appendMatchingResource

      public JDFResource appendMatchingResource(String resName, JDFResourceLink.EnumUsage usage)
      Method AppendMatchingResource. Appends a resource and link it to this if it is listed in the list of valid nodes for for a JDF with the given type also creates the matching resource link in this
      Parameters:
      resName - the name of the resource to add
      usage - the Usage of the resourcelink of the resource to add:
    • null EnumProcessUsage.AnyOutput - for input but no processUsage
    • Returns:
      JDFResource the newly created resource
    • appendMatchingResource

      public JDFResource appendMatchingResource(String resName, JDFNode.EnumProcessUsage processUsage, JDFNode resourceRoot)
      Method AppendMatchingResource. Appends a resource and link it to this if it is listed in the list of valid nodes for for a JDF with the given type also creates the matching resource link in this
      Parameters:
      resName - the name of the resource to add
      processUsage - the processUsage of the resourcelink of the resource to add:
    • null EnumProcessUsage.AnyOutput - for input but no processUsage
    • EnumProcessUsage.AnyOutput - for output but no processUsage
    • resourceRoot - the root JDF node, that is the parent of the resourcepool where the resource should be added. If null, this node is assumed.
      Returns:
      JDFResource the newly created resource
    • removeMatchingLink

      public boolean removeMatchingLink(String resName, int processUsage, boolean bRemoveResource, int pos)
      remove the link that matches the typesafe link resource name
      Parameters:
      resName - name of the resource to remove
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      bRemoveResource - also remove the resource, if it is not linked by any other process
      pos - the position of the link, if multiple matching links exist
      Returns:
      true if successful
    • removeLink

      public void removeLink(JDFResourceLink l, boolean bRemoveResource)
      remove a resourceLink and potentially its linked resource
      Parameters:
      l -
      bRemoveResource -
    • removeMatchingLinks

      public boolean removeMatchingLinks(String resName, JDFNode.EnumProcessUsage processUsage, boolean bRemoveResource)
      remove the link that matches the typesafe link resource name
      Parameters:
      resName - name of the resource to remove
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      bRemoveResource - also remove the resource, if it is not linked by any other process
      Returns:
      true if successful
    • linkMatchingResource

      public JDFResourceLink linkMatchingResource(JDFResource resource, JDFNode.EnumProcessUsage processUsage, JDFAttributeMap partMap)
      Append a resource that matches the typesafe link described by resource name
      Parameters:
      resource - the resource to link
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      partMap - the Attribute map of parts
      Returns:
      the new link, null if failure
    • numMatchingLinks

      public int numMatchingLinks(String resName, boolean bLink, JDFNode.EnumProcessUsage processUsage)
      get the number of links that match the typesafe link resource name
      Parameters:
      resName - name of the resources to match
      bLink - if false: returns the linked resources, if true: returns the ResourceLink elements
      processUsage - enum that defines if all links matching the name or only those matching the name usage and/or processusage are requested
      Returns:
      int - the number of resourcelink elements
    • getCreateAncestorPool

      public JDFAncestorPool getCreateAncestorPool()
      Returns:
    • appendAncestorPool

      public JDFAncestorPool appendAncestorPool()
      Returns:
    • getAncestorPool

      public JDFAncestorPool getAncestorPool()
      Returns:
    • getCreateAuditPool

      public JDFAuditPool getCreateAuditPool()
      Returns:
    • appendAuditPool

      public JDFAuditPool appendAuditPool()
      Returns:
    • getAuditPool

      public JDFAuditPool getAuditPool()
      Returns:
    • getCreateCustomerInfo

      public JDFCustomerInfo getCreateCustomerInfo()
      gets the existing CustomerInfo or creates a new one if none exists this method will check if a NodeInfo exists,
      Returns:
      the found or created CustomerInfo.
    • appendCustomerInfo

      public JDFCustomerInfo appendCustomerInfo()
      appends a CustomerInfo to this
      Returns:
      the appended CustomerInfo
    • getCustomerInfo

      public JDFCustomerInfo getCustomerInfo()
      gets the existing CustomerInfo
      Returns:
      the existing CustomerInfo.
    • getIdentifier

      public NodeIdentifier getIdentifier()
      gets the NodeIdetifier that matches this
      Specified by:
      getIdentifier in interface INodeIdentifiable
      Returns:
    • getGeneralID

      public String getGeneralID(String idUsage, int iPos, boolean inherit)
      Gets IDValue of the GeneralID with IDUsage=idUsage null, if none exists
      Parameters:
      idUsage -
      iPos -
      Returns:
      String the attribute value
    • getGeneralID

      public String getGeneralID(String idUsage, int iPos)
      Gets IDValue of the GeneralID with IDUsage=idUsage null, if none exists
      Overrides:
      getGeneralID in class JDFElement
      Parameters:
      idUsage -
      iPos -
      Returns:
      String the attribute value
    • getCreateNodeInfo

      public JDFNodeInfo getCreateNodeInfo()
      gets the existing NodeInfo or creates a new one if none exists this method will check if a NodeInfo exists,
      Returns:
      the found or created nodeinfo.
    • appendNodeInfo

      public JDFNodeInfo appendNodeInfo()
      appends a NodeInfo to this
      Returns:
      the appended NodeInfo
    • appendNodeInfo

      public JDFNodeInfo appendNodeInfo(int combinedProcessIndex)
      appends a NodeInfo for a given combinedprocessindex to this
      Parameters:
      combinedProcessIndex - the combinedprocessindex that must be explicitly specified in the link
      Returns:
      the appended NodeInfo
      Throws:
      JDFException - if combinedProcessIndex is outside the legal range implied by @Types
    • getNodeInfo

      public JDFNodeInfo getNodeInfo(int combinedProcessIndex)
      gets the existing local NodeInfo for a given CombinedProcessIndex
      Parameters:
      combinedProcessIndex - the combinedprocessindex that must be explicitly specified in the link
      Returns:
      the existing NodeInfo.
    • getNodeInfo

      public JDFNodeInfo getNodeInfo()
      gets the existing local NodeInfo if it is a resource or an element and the NodeInfo is unique for all CombinedProcessIndex values
      Returns:
      the existing NodeInfo, null if multiple NodeInfos exist, or the CombinedProcessIndex of the Link does not apply to the entire node
    • getInheritedNodeInfo

      public JDFNodeInfo getInheritedNodeInfo(String xPath)
      get first NodeInfo element from child list or child list of any ancestor
      Parameters:
      xPath - the xPath to an element or attribute that must exist in the queried CustomerInfo
      note that attributes must be marked with an "@", if xPath=null, simply return the next in line
      Returns:
      JDFNodeInfo The matching NodeInfo element
    • getInheritedNodeInfo

      @Deprecated public JDFNodeInfo getInheritedNodeInfo()
      Deprecated.
      060221 use getInheritedNodeInfo(String xPath)
      get first NodeInfo element from child list or child list of any ancestor
      Returns:
      JDFNodeInfo - the element
    • removeNodeInfo

      public void removeNodeInfo()
      remove element NodeInfo with ProcessUsage="Ancestor" is infinity. Use removeNodeInfos() to remove all.
    • removeCustomerInfo

      public void removeCustomerInfo()
      remove element Customerinfo whether it is an element or a resource
    • removeNodeInfos

      @Deprecated public void removeNodeInfos()
      Deprecated.
      removes only 1 NodeInfo. In Version 1.3 the cardinality of NodeInfo
      removes all NodeInfo elements
    • removeCustomerInfos

      @Deprecated public void removeCustomerInfos()
      Deprecated.
      060220 use removeCustomerInfo
      removes all CustomerInfo elements whether it is an element or a resource
    • eraseUnlinkedResources

      public void eraseUnlinkedResources()
      removes all unlinked resources
    • removeFromTypes

      @Deprecated public void removeFromTypes(String type, int iSkip)
      Deprecated.
      use the 3-parameter version
      remove a type from the types list - also cleaning up combinedprocessindex
      Parameters:
      type - the type
      iSkip - the index of this type in the list of identical types - typically 0
    • removeFromTypes

      public void removeFromTypes(String type, int iSkip, boolean bRemoveEmptyLink)
      remove a type from the types list - also cleaning up combinedprocessindex
      Parameters:
      type - the type
      iSkip - the index of this type in the list of identical types - typically 0
      bRemoveEmptyLink - if true, remove any reslinks that have no remaining combinedprocessindex
    • removeResource

      public JDFResource removeResource(String nodeName, int iSkip)
      removes a Resource from this ResourceLinkPool and from the resourcePool if it is no longer linked to any other process
      Parameters:
      nodeName - the Nodename of the Resource "NodeInfo" for example
      iSkip - number to skip before deleting
      Returns:
      KElement the removed resource, null if nothing was found or deleted (e.g. 4 found and the 5th is the one to delete). The link is not returned
      If the link is deleted and the resource is still linked to another process, null is returned.
    • numNodeInfos

      @Deprecated public int numNodeInfos()
      Deprecated.
      must never be more than one...
      Number of NodeInfo elements
      Returns:
      int number of matching elements
    • numCustomerInfos

      @Deprecated public int numCustomerInfos()
      Deprecated.
      must never be more than one...
      Number of NodeInfo elements
      Returns:
      int - number of matching elements
    • hasNodeInfo

      @Deprecated public boolean hasNodeInfo()
      Deprecated.
      use getNodeInfo()!=null
      test whether either an element NodeInfo or a JDF 1.3 NodeInfo Resource exists
      Returns:
      true if at least one matching element exists
    • hasCustomerInfo

      @Deprecated public boolean hasCustomerInfo()
      Deprecated.
      use getCustomerInfo()!=null
      test whether either an element CustomerInfo or a JDF 1.3 CustomerInfo Resource exists
      Returns:
      bool true if at least one matching element exists
    • getCreateResourceLinkPool

      public JDFResourceLinkPool getCreateResourceLinkPool()
      Get element ResourceLinkPool, create if it doesn't exist
      Returns:
      the found/created element
    • appendResourceLinkPool

      public JDFResourceLinkPool appendResourceLinkPool()
      Append a ResourceLinkPool element, return existing element if one already exist
      Returns:
      the ResourceLinkPool element
    • getResourceLinkPool

      public JDFResourceLinkPool getResourceLinkPool()
      get the first ResourceLinkPool element
      Returns:
      the element
    • getCreateResourcePool

      public JDFResourcePool getCreateResourcePool()
      Get element ResourcePool, create if it doesn't exist
      Returns:
      the found/created element
    • appendResourcePool

      public JDFResourcePool appendResourcePool()
      append a ResourcePool element, return existing element if one already exist
      Returns:
      the ResourcePool element
    • getResourcePool

      public JDFResourcePool getResourcePool()
      get the first ResourcePool element
      Returns:
      the element
    • getCreateStatusPool

      public JDFStatusPool getCreateStatusPool()
      Get element StatusPool, create if it doesn't exist
      Returns:
      the found/created element
    • appendStatusPool

      public JDFStatusPool appendStatusPool()
      append a StatusPool element, return existing element if one already exist
      Returns:
      the StatusPool element
    • getStatusPool

      public JDFStatusPool getStatusPool()
      get the first StatusPool element
      Returns:
      the element
    • getChildJDFNode

      public JDFNode getChildJDFNode(String id, boolean bDirect)
      get a Child JDFNode with a given ID attribute
      Parameters:
      id - the id of the child
      bDirect - if true, only direct children, else recurse down the tree
      Returns:
      JDFNode - the parent JDF, null if this is the root JDF
    • hasVersion

      public boolean hasVersion(boolean bInherit)
      Check existence of attribute "version"
      Parameters:
      bInherit - recurse through ancestors and Ancestor elements of the AncestorPool when searching
      Returns:
      true if attribute Version exists
    • setVersion

      @Deprecated public void setVersion(String value)
      Deprecated.
      use JDFElement.setVersion(EnumVersion.getEnum(value))
      set attribute "version"
      Parameters:
      value - the value to set the attribute to
    • getVersion

      public JDFElement.EnumVersion getVersion(boolean bInherit)
      get enum attribute "version"
      Overrides:
      getVersion in class JDFElement
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      EnumVersion - attribute value
    • cloneResourceToModify

      public JDFResourceAudit cloneResourceToModify(JDFResourceLink resLink)
      clone the target resource of this and generate a ResourceAudit in the parent node's AuditPool. Both resourcelinks of the ResourceAudit are filled in.
      The resource selected by this may now be modified.
      The cloned copy has a new Id in the format: (thisID)_old_nnn
      Parameters:
      resLink -
      Returns:
      the ResourceAudit that was created
    • prepareToModifyLink

      public JDFResourceAudit prepareToModifyLink(JDFResourceLink resLink)
      Generate a ResourceAudit in the parent node's AuditPool an initial copy of the not yet modified resourcelink is inserted
      call JDFResourceAudit.UpdateLink with the modified link to finalize
      Parameters:
      resLink -
      Returns:
      the ResourceAudit that was created
    • getTypes

      public VString getTypes()
      get the Types as a vector of strings
      Returns:
      vector of Strings in Types, null if this may not contain multiple types
    • getEnumTypes

      public Vector<JDFNode.EnumType> getEnumTypes()
      get the Types as a vector of EnumType
      Returns:
      vector of enumerated types, null if extensions exist that hinder us from generating a complete vector
      e.g. extension types or gray box names
    • getCombinedProcessIndex

      public int getCombinedProcessIndex(JDFNode.EnumType typ, int start)
      get the first index of a process in types after start
      Parameters:
      typ - the Type to search for
      start - the position to start searching at - generally 0
      Returns:
      int the position of the first occurence after start,-1 if none is found
    • getCombinedProcessIndex

      public int getCombinedProcessIndex(String typ, int start)
      get the first index of a process in types after start
      Parameters:
      typ - the Type to search for
      start - the position to start searching at - generally 0
      Returns:
      int the position of the first occurence after start,-1 if none is found
    • addTypes

      public void addTypes(JDFNode.EnumType typ)
      add typ to the types list if this is a combined node or gray box
      Parameters:
      typ -
    • addTypes

      public void addTypes(JDFNode.EnumType typ, JDFNode.EnumType combineType, boolean unique)
      add typ to the types list if this is a combined node or gray box
      Parameters:
      typ -
      combineType - one of null, Combined or ProcessGroup
    • ensureCombined

      public void ensureCombined(JDFNode.EnumType combineType)
      one of Combined or ProcessGroup
      Parameters:
      combineType -
    • getAllTypes

      public VString getAllTypes()
      Gets the vector of the string Type/Types attribute values of the given JDFNode by recursively traversing the tree
      returns exactly one element="Product" if the tested node's type is product
      Returns:
      VString - vector of Type/Types attributes of the tested ProcessGroup JDFNode
      Throws:
      JDFException - if the tested JDFNode has an illegal combination of attribute 'Types' and child JDFNodes
    • setTypes

      public void setTypes(VString vCombiNodes)
      set node Types , also set Type to Combined
      Parameters:
      vCombiNodes - vector of types
    • setTypes

      public void setTypes(VString vCombiNodes, boolean isProcessGroup)
      set node Types , also set Type to Combined
      Parameters:
      vCombiNodes - vector of types
    • getLinksForCombinedProcessIndex

      public VElement getLinksForCombinedProcessIndex(int combinedProcessIndex)
      get the links that are selected by a given CombinedProcessIndex
      all links with no CombinedProcessIndex are included in the list
      Parameters:
      combinedProcessIndex - the nTh occurence of the CombinedProcessIndex field, -1 if all valid positions are ok
      Returns:
    • getLinksForType

      public VElement getLinksForType(JDFNode.EnumType type, int nType)
      get the links that are selected by a given CombinedProcessIndex
      all links with no CombinedProcessIndex are included in the list
      Parameters:
      type - the process type for which to get the links
      nType - the nTh occurence of the Type field, -1 if all valid positions are ok
      Returns:
    • getEnumType

      public JDFNode.EnumType getEnumType()
      get the enumerated type value of @Type
      Returns:
      the enumerated type
    • insertTypeInTypes

      public void insertTypeInTypes(JDFNode.EnumType type, int beforePos)
      insert a new Process into @Types at the position pos
      Parameters:
      type - the process type
      beforePos - the position before which to add the in the list, 0 is first, ... -1 is before the last, very large is append
    • getParentIds

      public VString getParentIds()
      Get an ordered list of the ids of the parents of this node
      the last element in the pool is the direct parent, the second to last is the grandparent etc. The first element is the original root element.
      Returns:
      the list of ids in the order parent, grandparent...
    • mergeJDF

      @Deprecated public JDFNode mergeJDF(JDFNode toMerge, String urlMerge, JDFNode.EnumCleanUpMerge cleanPolicy, JDFResource.EnumAmountMerge amountPolicy)
      Deprecated.
      use JDFMerge class
      merge a previously spawned JDF into a node that is a child of, or this root
      Parameters:
      toMerge - the previosly spawned jdf node
      urlMerge - the url of the ???
      cleanPolicy - how to clean up the spawn and merge audits after merging
      amountPolicy - how to clean up the Resource amounts after merging
      Returns:
      JDFNode - the merged node in the new document
      note that the return value used to be boolean. The boolean value is now replaced by exceptions. This always corresponds to true.
      Throws:
      JDFException - if toMerge has already been merged
      JDFException - if toMerge was not spawned from this
      JDFException - if toMerge has no AncestorPool
    • hasParent

      public boolean hasParent(JDFNode p)
      check whether a node with the same ID as one in p's ancestorpool exists in this document
      Parameters:
      p - the node to check
      Returns:
      true if a node with the same ID as one in p's ancestorpool exists
    • getMinID

      @Deprecated public int getMinID()
      Deprecated.
      - actually does more harm than good
      loop over all IDs and find the min ID that will create unique new IDs
      Returns:
      the new minimum ID that will generate unique IDs
    • getMaxJobPartId

      public int getMaxJobPartId(String idPrefix)
      gets the maximum job part id; note that this assumes integer job part ids return
      Parameters:
      idPrefix -
      Returns:
      int
    • addJDFNode

      public JDFNode addJDFNode(String typ)
      add a JDFNode remove @Types to avoid inconsistent JDF
      Parameters:
      typ - type of JDFNode to add
      Returns:
      JDFNode the added JDFNode
    • addJDFNode

      public JDFNode addJDFNode(JDFNode.EnumType typ)
      add a JDFNode
      Parameters:
      typ - enum type of JDFNode to add
      Returns:
      the added JDFNode
    • addProcess

      @Deprecated public JDFNode addProcess(String prodName)
      Deprecated.
      use addJDFNode(EnumType typ) or addJDFNode(String typ)
      Parameters:
      prodName -
      Returns:
    • addProcessGroup

      public JDFNode addProcessGroup(VString tasks)
      Add a process group node
      Parameters:
      tasks - types of the processgroup
      Returns:
      the added JDFNode
    • addCombined

      public JDFNode addCombined(VString tasks)
      add a combined node
      Parameters:
      tasks - types of the node to add
      Returns:
      the added node
    • addProduct

      public JDFNode addProduct()
      add a product node to this
      Returns:
      Throws:
      JDFException - ith this is not a Product itself
    • removeCompleted

      @Deprecated public boolean removeCompleted()
      Deprecated.
      remove all completed nodes
      Returns:
    • getCompleted

      public VElement getCompleted()
      get a vector with all nodes
      Returns:
      vector with all nodes
    • getTargetResource

      public JDFResource getTargetResource(String id)
      Returns a resource with id anywhere in the tree below this node similar to getTarget(id) but looks only in the resource pool's direct children
      Parameters:
      id - the id of the resource
      Returns:
      the resource, if available
    • getAncestorElementAttribute

      public String getAncestorElementAttribute(String element, String attrib, String nameSpaceURI, String def)
      searches for the first attribute occurence in the ancestor elements subelements
      Parameters:
      element -
      attrib - the attribute name
      nameSpaceURI - the XML-namespace
      def - default value, if no matching attribute is found
      Returns:
      String - value of attribute found, empty string if not available
      Since:
      180502
    • hasAncestorElementAttribute

      public boolean hasAncestorElementAttribute(String element, String attrib, String nameSpaceURI)
      true if a non default attribute occurs in the parent nodes and the ancestor elements subelements of the root ancestorpool exists
      Parameters:
      element -
      attrib - the attribute name
      nameSpaceURI - the XML-namespace
      Returns:
      true if the attribute exists
      Since:
      180502
    • getIntents

      public VElement getIntents()
      Get vector of linked input resource intents
      Returns:
      VElement vector of all input intent resources that are linked as inputs to this node
    • getUnknownLinkVector

      public VElement getUnknownLinkVector(VString vInNameSpace, int nMax)
      get a vector of ResourceLink elements that exist but are unknown by this element
      Parameters:
      vInNameSpace - list of namespaces where unknown Links are searched for
      if null, all namespaces are searched
      nMax - maximum size of the returned vector
      Returns:
      VElement vector of unknown elements
      Since:
      060730 return type changed to VElement - but since the routine was utterly broken, we should be ok
    • setCategory

      public void setCategory(String value)
      set attribute Category
      Parameters:
      value - the value to set the attribute to
    • getCategory

      public String getCategory()
      get string attribute Category
      Returns:
      the attribute value
    • getCategory

      @Deprecated public String getCategory(boolean bInherit)
      Deprecated.
      - use getCategory() instead
      Parameters:
      bInherit -
      Returns:
    • setICSVersions

      public void setICSVersions(VString value)
      set attribute ICSVersions
      Parameters:
      value - the value to set the attribute to
    • setICSVersions

      public VString setICSVersions(ICSVersion... versions)
      set attribute ICSVersions
      Parameters:
      value - the value to set the attribute to
    • appendICSVersion

      public String appendICSVersion(ICSVersion v)
    • getICSVersions

      public VString getICSVersions(boolean bInherit)
      get NMTOKENS attribute ICSVersions
      Parameters:
      bInherit - if true recurse through ancestors when searching
      Returns:
      VString - attribute value
    • setMaxVersion

      public void setMaxVersion(JDFElement.EnumVersion enumVer)
      set MaxVersion to enumVer
      Parameters:
      enumVer - the EnumVersion to set
    • setMaxVersion

      @Deprecated public void setMaxVersion(String value)
      Deprecated.
      use setMaxVersion(EnumVersion)
      Parameters:
      value - the string version to set MaxVersion to
    • getMaxVersion

      public JDFElement.EnumVersion getMaxVersion(boolean bInherit)
      get attribute MaxVersion, defaults to version if not set
      Overrides:
      getMaxVersion in class JDFElement
      Parameters:
      bInherit - if true recurse through ancestors when searching
      Returns:
      EnumVersion - attribute value default - getMaxVersion(false)
    • setNamedFeatures

      public void setNamedFeatures(VString value)
      set attribute NamedFeatures
      Parameters:
      value - the value to set the attribute to
    • getNamedFeatures

      public VString getNamedFeatures()
      Get NMTOKENS attribute NamedFeatures
      Returns:
      the attribute value
    • setRelatedJobID

      public void setRelatedJobID(String value)
      set attribute ProjectID
      Parameters:
      value - the value to set the attribute to
    • getRelatedJobID

      public String getRelatedJobID(boolean bInherit)
      get string attribute RelatedJobID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      the attribute value
    • setRelatedJobPartID

      public void setRelatedJobPartID(String value)
      set attribute RelatedJobPartID
      Parameters:
      value - the value to set the attribute to
    • getRelatedJobPartID

      public String getRelatedJobPartID(boolean bInherit)
      get string attribute RelatedJobPartID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      the attribute value
    • setStatusDetails

      public void setStatusDetails(String value)
      set attribute StatusDetails
      Parameters:
      value - the value to set the attribute to
    • getStatusDetails

      public String getStatusDetails()
      get string attribute StatusDetails
      Returns:
      the attribute value
    • getStatusDetails

      @Deprecated public String getStatusDetails(boolean bInherit)
      Deprecated.
      - use getStatusDetails() instead
      Parameters:
      bInherit -
      Returns:
    • setTemplate

      public void setTemplate(boolean value)
      set attribute Template
      Parameters:
      value - the value to set the attribute to
    • getTemplate

      public boolean getTemplate()
      get boolean attribute Template, default=false
      Returns:
      the attribute value
    • setTemplateID

      public void setTemplateID(String value)
      set attribute TemplateID
      Parameters:
      value - the value to set the attribute to
    • getTemplateID

      public String getTemplateID(boolean bInherit)
      get string attribute TemplateID
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      the attribute value
    • setTemplateVersion

      public void setTemplateVersion(String value)
      set attribute TemplateVersion
      Parameters:
      value - the value to set the attribute to
    • getTemplateVersion

      public String getTemplateVersion(boolean bInherit)
      get string attribute TemplateVersion
      Parameters:
      bInherit - recurse through ancestors when searching
      Returns:
      the attribute value
    • getWorkStepID

      public String getWorkStepID(JDFAttributeMap map)
      get the NodeInfo/@workstepid for a given partition if no workstepID exists, returns jobPartID
      Parameters:
      map -
      Returns:
      the workstepid
    • getNodeInfoCleanupDuration

      public JDFDuration getNodeInfoCleanupDuration()
      Returns:
      JDFDuration
    • getNodeInfoCostType

      @Deprecated public JDFAutoMISDetails.EnumCostType getNodeInfoCostType()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
      JDFMISDetails.EnumCostType
    • getNodeInfoDueLevel

      public JDFAutoNodeInfo.EnumDueLevel getNodeInfoDueLevel()
      Returns:
      #
    • getNodeInfoEnd

      public JDFDate getNodeInfoEnd()
      Returns:
    • getNodeInfoFirstEnd

      public JDFDate getNodeInfoFirstEnd()
      Returns:
    • getNodeInfoFirstStart

      public JDFDate getNodeInfoFirstStart()
      Returns:
    • getNodeInfoIPPVersion

      @Deprecated public JDFXYPair getNodeInfoIPPVersion()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoJobPriority

      @Deprecated public int getNodeInfoJobPriority()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoLastEnd

      public JDFDate getNodeInfoLastEnd()
      Returns:
    • getNodeInfoLastStart

      public JDFDate getNodeInfoLastStart()
      Returns:
    • getNodeInfoNaturalLang

      @Deprecated public String getNodeInfoNaturalLang()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoRoute

      @Deprecated public String getNodeInfoRoute()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoSetupDuration

      public JDFDuration getNodeInfoSetupDuration()
      Returns:
    • getNodeInfoStart

      public JDFDate getNodeInfoStart()
      Returns:
    • getNodeInfoTargetRoute

      @Deprecated public String getNodeInfoTargetRoute()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoTotalDuration

      public JDFDuration getNodeInfoTotalDuration()
      Returns:
    • getNodeInfoWorkType

      @Deprecated public JDFAutoMISDetails.EnumWorkType getNodeInfoWorkType()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoWorkTypeDetails

      @Deprecated public String getNodeInfoWorkTypeDetails()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoBusinessInfo

      @Deprecated public JDFBusinessInfo getNodeInfoBusinessInfo()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoEmployee

      @Deprecated public JDFEmployee getNodeInfoEmployee()
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Returns:
    • getNodeInfoJMF

      @Deprecated public JDFJMF getNodeInfoJMF(int iSkip)
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Parameters:
      iSkip -
      Returns:
    • getNodeInfoNotificationFilter

      @Deprecated public JDFNotificationFilter getNodeInfoNotificationFilter(int iSkip)
      Deprecated.
      06�221 use getInheritedNodeInfo(String attName)
      Parameters:
      iSkip -
      Returns:
    • getInheritedCustomerInfo

      public JDFCustomerInfo getInheritedCustomerInfo(String xPath)
      get first CustomerInfo element from child list or child list of any ancestor
      Parameters:
      xPath - the the xPath to an element or attribute that must exist in the queried CustomerInfo
      note that attributes must be marked with an "@", if xPath=null, simply return the next in line
      Returns:
      the matching CustomerInfo element
    • getInheritedCustomerInfo

      @Deprecated public JDFCustomerInfo getInheritedCustomerInfo()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String xPath)
      get first CustomerInfo element from child list or child list of any ancestor
      Returns:
      CustomerInfo The matching CustomerInfo element
    • getCustomerInfoBillingCode

      @Deprecated public String getCustomerInfoBillingCode()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoCustomerID

      @Deprecated public String getCustomerInfoCustomerID()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoCustomerJobName

      @Deprecated public String getCustomerInfoCustomerJobName()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoCustomerOrderID

      @Deprecated public String getCustomerInfoCustomerOrderID()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoCustomerProjectID

      @Deprecated public String getCustomerInfoCustomerProjectID()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoCompany

      @Deprecated public JDFCompany getCustomerInfoCompany()
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Returns:
    • getCustomerInfoContact

      @Deprecated public JDFContact getCustomerInfoContact(int iSkip)
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Parameters:
      iSkip -
      Returns:
    • getCustomerInfoCustomerMessage

      @Deprecated public JDFCustomerMessage getCustomerInfoCustomerMessage(int iSkip)
      Deprecated.
      06�221 use getInheritedCustomerInfo(String attName)
      Parameters:
      iSkip -
      Returns:
    • isSuccessor

      public boolean isSuccessor(JDFNode proc)
      Checks if this process is the successor of the given process node.
      Parameters:
      proc - node to check against
      Returns:
      boolean - true if this process is successor of given process
    • getResourceIDs

      public VString getResourceIDs(boolean isInput)
      Returns the input or output resource IDs of this process node.
      Parameters:
      isInput -
    • true to get input resource IDs.
    • false to get output resource IDs.
    • Returns:
      VString - Vector containing resource IDs.
    • getExecutablePartitions

      @Deprecated public VJDFAttributeMap getExecutablePartitions(JDFResourceLink link, JDFResource res, JDFResource.EnumResStatus minStatus)
      Deprecated.
      use getExecutablePartitions(link, minStatus);
      Gets the executable partitions of the resource in this node (with corresponding resource link). The part maps returned may be nested. If the empty part map is contained, the whole resource is executable.
      Availability of a resource depends on the status, the availability of refered sub-partitions and the part usage.
      Parameters:
      link - the resource link.
      res - the resource. (legacy dummy the resource is actually calculated from the link)
      minStatus - minimum resource status to include.
      Returns:
      VJDFAttributeMap - A part map vector containing the executable partitions.
    • getExecutablePartitions

      @Deprecated public VJDFAttributeMap getExecutablePartitions(JDFResourceLink link, JDFResource.EnumResStatus minStatus)
      Deprecated.
      only for backward compatibility !!!
      Method getExecutablePartitions
      Parameters:
      link -
      minStatus -
      Returns:
    • getExecutablePartitions

      public VJDFAttributeMap getExecutablePartitions(JDFResourceLink link, JDFResource.EnumResStatus minStatus, boolean bCheckNodeStatus)
      Gets the executable partitions of the resource in this node (with corresponding resource link). The part maps returned may be nested. If the empty part map is contained, the whole resource is executable.
      Availability of a resource depends on the status, the availability of refered sub-partitions and the part usage.
      Parameters:
      link - the resource link.
      minStatus - minimum resource status to include.
      bCheckNodeStatus - check node status.
      Returns:
      VJDFAttributeMap - A part map vector containing the executable partitions.
    • getProcessNodes

      @Deprecated public JDFNode[] getProcessNodes()
      Deprecated.
      use getvJDFNode(null,null,false) and skip intermediate nodes
      Gets all child process nodes. This function replaces the JDFDoc.getProcessNodes, which may be implemented as getJDFRoot.getProcessNodes();
      Returns:
      JDFNode [] - All child process nodes.
    • isProcessNode

      public boolean isProcessNode()
      Checks if this node is a simple process (including Combined and grey box ProcessGroup) leaf node.
      Returns:
      boolean - true if this is a process node.
    • addInternalPipe

      public JDFResource addInternalPipe(String resourceName, int indexOutput, int indexInput)
      add an internal pipe (an input and an output link to an explicitly defined exchange resource)
      Parameters:
      resourceName - The name of the reource to create
      indexOutput - the CombinedProcessIndex of the output ResourceLink to the internal pipe
      indexInput - the CombinedProcessIndex of the input ResourceLink to the internal pipe
      Returns:
      JDFResource - the newly created resource
    • getPartIDKeys

      public VString getPartIDKeys(JDFAttributeMap partMap)
      get a heuristic partidkey vector from the partitons of the linked resources
      Parameters:
      partMap - the partmap to order. If not specified, use the output link
      Returns:
      the ordered vector of partIDKeys
    • prepareNodeInfo

      public VElement prepareNodeInfo(VJDFAttributeMap vSpawnParts)
      prepare the nodeinfo for a list of parts, e.g. for a partitioned spawn if nodeinfo is prepartitioned it will return a vector of all matching leaves
      Parameters:
      vSpawnParts - the list of parts
      Returns:
      the vector of nodeinfo leaves
    • getLinks

      @Deprecated public VElement getLinks(String linkName, JDFAttributeMap mLinkAtt, String linkNS)
      Deprecated.
      - use getResourceLinks
      getLinks - get the links matching mLinkAtt out of the resource link pool
      Parameters:
      linkName - the name of the link including or excluding the "Link", If it is omitted, it will be added
      mLinkAtt - the attributes to search for
      linkNS - the namespace of the link
      Returns:
      VElement - all elements matching the condition mLinkAtt
    • getResourceLinks

      public VElement getResourceLinks(String linkName, JDFAttributeMap mLinkAtt, String linkNS)
      getLinks - get the links matching mLinkAtt out of the resource link pool
      Parameters:
      linkName - the name of the link including or excluding the "Link", If it is omitted, it will be added
      mLinkAtt - the resourcelink attributes to search for
      linkNS - the namespace of the link
      Returns:
      VElement - all elements matching the condition mLinkAtt,
    • getLink

      public JDFResourceLink getLink(int index, String linkName, JDFAttributeMap mLinkAtt, String linkNS)
      getLink - get the n'th link matching mLinkAtt out of the resource link pool
      Parameters:
      index - the index of the matching link
      linkName - the name of the link including or excluding the "Link". If it is omitted, it will be added.
      mLinkAtt - the attributes to search for
      linkNS - the namespace of the link
      Returns:
      JDFResourceLink - the ResourceLink matching the condition mLinkAtt
    • getLinks

      @Deprecated public VElement getLinks(String linkName, String nameSpaceURI)
      Deprecated.
      this routine does not belong here at all!
      Gets all elements with name linkName, which contain resource links that point to this resource
      Parameters:
      linkName - defaults to any
      nameSpaceURI - attribute namespace you are searching in
      Returns:
      VElement vector of all found elements
    • sortChildren

      public void sortChildren()
      sorts all elements alphabetically also recurses into the resourcepool and the sub JDF Node NO other sub-elements are sorted
      Overrides:
      sortChildren in class KElement
      See Also:
    • getMatchingNodes

      public VElement getMatchingNodes(NodeIdentifier ni)
      returns all subnodes of this (including this) that match ni
      Parameters:
      ni - the Identifier to match
      Returns:
    • linkOutputs

      public void linkOutputs(JDFNode thePreviousNode)
      links all output resources of thePreviousNode as inputs to this
      Parameters:
      thePreviousNode -
    • synchParentAmounts

      public void synchParentAmounts()
      synchronize the amounts of a gray box parent with the expanded jdfnode
    • toGrayBox

      public void toGrayBox(boolean bExpand)
      make any combined or single type process to a gray box
      Parameters:
      bExpand - if true, create a parent gray box that wraps this, else simply rename this
    • setIdentifier

      public void setIdentifier(NodeIdentifier ni)
      Specified by:
      setIdentifier in interface INodeIdentifiable
      Parameters:
      ni -
      See Also:
    • setURL

      public void setURL(String url)
      sets the CommentURL this allows us to implement IURLSetter and automagically manipulate attatched commenturl files
      Specified by:
      setURL in interface IURLSetter
      Parameters:
      url - the URL to set
      See Also:
    • getURL

      public String getURL()
      gets the CommentURL this allows us to implement IURLSetter and automagically manipulate attatched commenturl files
      Specified by:
      getURL in interface IURLSetter
      Returns:
      the URL of this
      See Also:
    • getUserFileName

      public String getUserFileName()
      Specified by:
      getUserFileName in interface IURLSetter
      Returns:
      the filename of this; null if not implemented
    • setVersion

      public void setVersion(JDFElement.EnumVersion enumVer)
      Description copied from class: JDFElement
      set Version to enumVer
      Overrides:
      setVersion in class JDFElement
      Parameters:
      enumVer - the EnumVersion to set
      See Also:
    • parseFile

      public static JDFNode parseFile(File file)
      parse a JDF file
      Parameters:
      file -
      Returns:
      the parsed JDFNode
    • parseFile

      public static JDFNode parseFile(String fileName)
      parse a JDF file
      Parameters:
      fileName -
      Returns:
      the parsed JDFNode
    • parseStream

      public static JDFNode parseStream(InputStream is)
      parse a JDF input stream
      Parameters:
      is -
      Returns:
      the parsed JDFNode
    • createRoot

      public static JDFNode createRoot()
      Returns:
    • getJobPart

      public JDFNode getJobPart(String jobPartID)
      convenience deep getter
      Parameters:
      jobPartID -
      Returns: