com.unitesk.requality.core
public class TreeNode extends java.lang.Object implements java.lang.Iterable<TreeNode>
Modifier and Type | Class and Description |
---|---|
class |
TreeNode.TreeNodeChildIterator |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ATTR_DESCRIPTION |
static java.lang.String |
ATTR_ERROR |
static java.lang.String |
ATTR_GENERATORS |
static java.lang.String |
ATTR_LINKS |
static java.lang.String |
ATTR_NAME |
static java.lang.String |
ATTR_PREDICATE |
static java.lang.String |
ATTR_REVLINKS |
static java.lang.String |
ATTR_TYPE |
static java.lang.String |
ATTR_UNDEFINED |
protected java.util.List<java.util.UUID> |
children |
protected java.util.concurrent.ConcurrentSkipListSet<java.lang.String> |
gens |
protected java.lang.String |
id |
protected Index |
index |
static java.lang.String |
NODE_GROUP |
protected static java.lang.String |
NumberRegex |
protected java.util.List<java.util.UUID> |
outchildren |
static java.lang.String |
SORT_BY_LOCATIONS |
Constructor and Description |
---|
TreeNode(TreeDB db,
java.util.UUID uuid) |
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(INodeChangeListener l)
Add Change Listener to be informed on changes of current node
|
protected void |
addChildUUID(java.util.UUID uid) |
void |
addGuiChangeListener(INodeChangeListener l)
Add change listener to be notified after set of actual changes
|
protected void |
addRevLink(TreeNode node,
java.lang.String key) |
void |
buildDependencies(Attribute a) |
protected boolean |
containsChildUUID(java.util.UUID uid) |
TreeNode |
createChild(java.lang.String id)
Create child element with given id and type "Node"
|
TreeNode |
createChild(java.lang.String id,
java.lang.String type)
Create child element with given id and type type
|
void |
delete()
Delete this element
|
void |
deleteResource(java.lang.String name)
Delete resource with given name from current element
|
boolean |
equals(java.lang.Object obj) |
java.lang.String |
evaluatePredicateString(TreeNode node,
java.lang.String predicate) |
TreeNode |
findChild(java.lang.String id)
Method to locate child with given id.
|
void |
fireGUINodeAttributeChange(java.lang.String what)
File event when attribute was changed
|
void |
fireGUINodeAttributeChange(java.lang.String attributeName,
AttributeGenerator.ParameterAvailability availability) |
void |
fireGUINodeDelete()
Fire event when node is deleted
|
void |
fireNodeAttributeChange(java.lang.String what)
Fire node change event when some attribute is changed
|
void |
fireNodeAttributeChange(java.lang.String attributeName,
AttributeGenerator.ParameterAvailability availability) |
void |
fireNodeDelete()
Fire event when node is deleted
|
Attribute |
getAttribute(java.lang.String key)
Get attribute with given attribute name.
|
java.util.Set<java.lang.String> |
getAttributeKeys()
Get set of names of available attributes
|
java.util.Map<java.lang.String,Attribute> |
getAttributes()
Get map of available attributes.
|
java.util.Map<java.lang.String,java.lang.Object> |
getAttributesMap(boolean handlePredicate) |
java.lang.Object |
getAttributeValue(java.lang.String key)
Get value of attribute with given name.
|
java.lang.Object |
getAttributeValue(java.lang.String key,
java.lang.Object def)
Get value of attribute with given key.
|
boolean |
getBooleanAttributeValue(java.lang.String key)
Get value of attribute with given key casted to boolean type.
|
boolean |
getBooleanAttributeValue(java.lang.String key,
boolean def)
Get value of attribute with given key casted to boolean type.
|
INodeChangeListener |
getChangeListener()
Returns change listener that represents reaction on other nodes(used in linkto mechanics)
|
TreeNode |
getChild(int i)
Get child element with index i in children uuid list
|
java.util.List<java.util.UUID> |
getChildrenUUIds() |
java.lang.String |
getDescription()
Return element description to be shown in uni editor and properties panels.
|
java.lang.String |
getDescription(boolean process)
Return element description to be shown in uni editor and properties panels
|
java.lang.String |
getDescription(java.lang.String basePath)
Get current text description for element.
|
java.lang.String |
getDescription(java.lang.String prefix,
java.lang.String postfix,
java.lang.String basePath)
Get current text description for element.
|
java.lang.String |
getError()
Method to get error messages appears during report generation
|
float |
getFloatAttributeValue(java.lang.String key)
Get value of attribute with given key casted to float type.
|
float |
getFloatAttributeValue(java.lang.String key,
float def)
Get value of attribute with given key casted to float type.
|
java.lang.String |
getGroup()
Elements can be grouped to support versions of storing formats for groups
NODE_GROUP is related to default group.
|
java.lang.String |
getId()
Get identifier of element.
|
Index |
getIndex()
Get index of element.
|
int |
getIntAttributeValue(java.lang.String key)
Get value of attribute with given key casted to int type.
|
int |
getIntAttributeValue(java.lang.String key,
int def)
Get value of attribute with given key casted to int type.
|
TreeNode |
getLinkAttributeValue(java.lang.String key) |
TreeNode |
getLinkAttributeValue(java.lang.String key,
TreeNode def) |
java.util.List<TreeNode> |
getLinkedNodes()
Get list of nodes linked to current by linkto: relation
|
java.lang.String |
getLinkLabel(java.lang.String key) |
static java.lang.String |
getLinkLabel(TreeNode targ,
java.lang.String expression,
java.lang.String label) |
java.util.List<java.lang.Object> |
getListAttributeValue(java.lang.String key)
Get value of attribute with given key casted to list of string.
|
java.lang.Object |
getListAttributeValue(java.lang.String attrLocations,
AttributeType tp) |
java.lang.String |
getMultiTypeLabel() |
java.lang.String |
getName() |
java.lang.String |
getNameOrId() |
TreeNode |
getParent()
Get parent of current element.
|
TreeNode |
getParent(boolean local) |
java.util.UUID |
getParentUUId()
Get unique identifier of parent element.
|
java.util.UUID |
getParentUUId(boolean local) |
java.lang.String |
getPredicate()
Method to get predicate that affect on node visibility in reports
|
java.lang.String |
getQualifiedId()
Get path to element in form of identifier(id) of element and all its ancestors
in form of /RootId/...
|
TreeNode |
getRawChild(int i) |
java.util.List<java.util.UUID> |
getRawChildrenUUIDs() |
java.io.InputStream |
getResourceContent(java.lang.String name)
Get content of resource with given name corresponding to this element
|
java.lang.String |
getResourcesPath()
Get path to resources folder related to current element
|
java.util.Map<TreeNode,java.util.Set<java.lang.String>> |
getRevertLinks() |
TreeNode[] |
getSortedChildren()
Get children elements in array sorted by default sort mechanism
|
TreeNode[] |
getSortedChildren(java.util.Comparator<TreeNode> c,
java.lang.String type)
Get children elements of selected type in array sorted by order defined in given comparator
|
TreeNode[] |
getSortedChildren(java.lang.String type)
Get children elements of selected type in array sorted by default sort mechanism
|
java.lang.String |
getStringAttributeValue(java.lang.String key)
Get value of attribute with given key casted to string type.
|
java.lang.String |
getStringAttributeValue(java.lang.String key,
java.lang.String def)
Get value of attribute with given key casted to string type.
|
TreeDB |
getTreeDB()
Get tree database in which this element exists
|
java.lang.String |
getType() |
java.lang.String |
getTypeLabel() |
Attribute |
getUpdatedAttribute(Attribute a) |
Attribute |
getUpdatedAttribute(Attribute a,
int num) |
java.lang.String |
getUserFriendlyName()
If element have 'name' attribute then return it, else return ParentUserFriendlyName/Id
Tends to be unique in project by agreement
|
java.lang.String |
getUserFriendlyName(boolean inner)
If element have 'name' attribute then return it, else return ParentUserFriendlyName/Id
Tends to be unique in project by agreement
|
java.util.UUID |
getUUId()
get UUID - unique identificator over element.
|
boolean |
isDisposed()
Get disposed flag for element.
|
boolean |
isNameDefined() |
boolean |
isResourceExists(java.lang.String name)
Check if resource with given name exists on current element
|
boolean |
isVirtual() |
java.util.Iterator<TreeNode> |
iterator()
Get iterator for children
|
static java.lang.String |
join(java.lang.String[] r,
java.lang.String d)
Get list of children UUIDs
|
java.lang.String[] |
listResources()
List all available resources for current element
|
java.lang.String |
processResourcesPath(java.lang.String desc)
Process paths in description, replace placeholder ${node.resURL} to actual path to images
|
Attribute |
putAttribute(Attribute a)
Put attribute to this element.
|
Attribute |
putAttribute(Attribute a,
boolean notchange) |
Attribute |
rawPutAttribute(Attribute a) |
void |
rawSaveAttributes() |
void |
reactOnAttributeChange(java.lang.String s,
Attribute attribute) |
Attribute |
removeAttribute(java.lang.String key)
Remove attribute with given attribute name.
|
Attribute |
removeAttribute(java.lang.String key,
boolean internal) |
void |
removeChangeListener(INodeChangeListener l)
Remove change listener from current node
|
void |
removeChild(TreeNode node)
Remove child element from current
|
protected void |
removeChildUUID(java.util.UUID uid) |
void |
removeGuiChangeListener(INodeChangeListener l)
Remove change listener to be notified after set of actual changes
|
protected void |
removeRevLink(TreeNode node,
java.lang.String key) |
TreeNode |
resolveLink(java.lang.String expr,
TreeNode def,
java.lang.String savedName)
Get value of attribute with given key casted to TreeNode type.
|
void |
saveAttributes()
Save all attribute changes in storage.
|
protected void |
saveRevLinks() |
void |
setChildrenUUIDs(java.util.List<java.util.UUID> children2) |
void |
setDescription(java.lang.String description)
Set text description for element.
|
void |
setDisposed()
Set disposed flag for element to true.
|
void |
setId(java.lang.String id)
Set identifier of element.
|
void |
setIndex(Index index)
Set index of element.
|
void |
setName(java.lang.String name) |
void |
setParent(TreeNode parent)
Set parent element
|
void |
setPredicate(java.lang.String pred)
Method to set predicate that affect on node visibility in reports
|
void |
setResourceContent(java.lang.String name,
java.io.InputStream in)
Set content of resource with given name on current node
|
void |
setResourceContent(java.lang.String name,
java.io.InputStream in,
java.lang.Object data)
Set content of resource with given name on current node
|
void |
setType(java.lang.String type)
Method to set type of element in form of string
Types names are usually was in constants like Requirement.TYPE_NAME
|
int |
sizeChildren()
Get children count for current element.
|
int |
sizeRawChildren() |
NodeDesc |
toNodeDesc()
Get intermediate representation of element for copying process.
|
NodeDesc |
toNodeDesc(java.lang.Boolean deep)
Get intermediate representation of element for copying process.
|
java.lang.String |
toString() |
void |
updateTreeNodes(TreeNode req,
java.lang.String what)
Method to update Requirement id, name and corresponding Location nodes
|
void |
virtualReplaceNames() |
public static final java.lang.String ATTR_TYPE
public static final java.lang.String ATTR_NAME
protected static java.lang.String NumberRegex
public static final java.lang.String ATTR_PREDICATE
public static final java.lang.String ATTR_DESCRIPTION
public static final java.lang.String ATTR_LINKS
public static final java.lang.String ATTR_GENERATORS
public static final java.lang.String NODE_GROUP
public static final java.lang.String ATTR_UNDEFINED
public static final java.lang.String ATTR_ERROR
public static final java.lang.String SORT_BY_LOCATIONS
public static final java.lang.String ATTR_REVLINKS
protected java.lang.String id
protected java.util.List<java.util.UUID> children
protected java.util.List<java.util.UUID> outchildren
protected java.util.concurrent.ConcurrentSkipListSet<java.lang.String> gens
protected Index index
public TreeNode(TreeDB db, java.util.UUID uuid)
protected void saveRevLinks()
protected void addRevLink(TreeNode node, java.lang.String key)
protected void removeRevLink(TreeNode node, java.lang.String key)
public java.util.Map<TreeNode,java.util.Set<java.lang.String>> getRevertLinks()
protected boolean containsChildUUID(java.util.UUID uid)
public java.lang.String getMultiTypeLabel()
public java.lang.String getTypeLabel()
protected void addChildUUID(java.util.UUID uid)
protected void removeChildUUID(java.util.UUID uid)
public void setChildrenUUIDs(java.util.List<java.util.UUID> children2)
public java.lang.String getGroup()
public boolean isVirtual()
public java.lang.String getError()
public void setPredicate(java.lang.String pred)
pred
- predicatepublic java.lang.String getPredicate()
public void setType(java.lang.String type)
type
- string name of typepublic final java.util.UUID getUUId()
public void setId(java.lang.String id)
id
- new identifier of element.public java.lang.String getId()
public java.lang.String getType()
public void setParent(TreeNode parent)
parent
- new parent elementpublic java.util.UUID getParentUUId()
public java.util.UUID getParentUUId(boolean local)
public void removeChild(TreeNode node)
node
- element to removepublic void setDescription(java.lang.String description)
description
- new description of elementpublic java.lang.String getDescription(java.lang.String prefix, java.lang.String postfix, java.lang.String basePath)
prefix
- optional prefix for descriptionpostfix
- optional postfix for descriptionbasePath
- path to report folderpublic java.lang.String getDescription(java.lang.String basePath)
basePath
- path to report folderpublic java.lang.String getDescription()
public java.lang.String getDescription(boolean process)
process
- process resource path flagpublic java.lang.String processResourcesPath(java.lang.String desc)
desc
- description of elementpublic TreeDB getTreeDB()
public TreeNode getParent()
public TreeNode getParent(boolean local)
public int sizeChildren()
public TreeNode getChild(int i)
i
- index of child in uuid listpublic java.lang.String getQualifiedId()
public TreeNode findChild(java.lang.String id)
id
- id of child to findpublic static java.lang.String join(java.lang.String[] r, java.lang.String d)
public java.util.List<java.util.UUID> getChildrenUUIds()
public java.lang.String toString()
toString
in class java.lang.Object
public TreeNode createChild(java.lang.String id)
id
- id of created elementpublic TreeNode createChild(java.lang.String id, java.lang.String type)
id
- id of created elementpublic void delete()
public Attribute putAttribute(Attribute a)
a
- attribute to add or replacepublic void rawSaveAttributes()
public Attribute removeAttribute(java.lang.String key)
key
- name of attribute to deletepublic Attribute removeAttribute(java.lang.String key, boolean internal)
public Attribute getAttribute(java.lang.String key)
key
- name of attributepublic java.lang.Object getAttributeValue(java.lang.String key)
key
- name of attributepublic java.lang.Object getAttributeValue(java.lang.String key, java.lang.Object def)
key
- name of attributedef
- default return value if attribute is not foundpublic TreeNode resolveLink(java.lang.String expr, TreeNode def, java.lang.String savedName)
key
- name of attributedef
- default return value if attribute is not foundpublic TreeNode getLinkAttributeValue(java.lang.String key)
public int getIntAttributeValue(java.lang.String key, int def)
key
- name of attributedef
- default return value if attribute is not foundpublic int getIntAttributeValue(java.lang.String key)
key
- name of attributepublic float getFloatAttributeValue(java.lang.String key, float def)
key
- name of attributedef
- default return value if attribute is not foundpublic float getFloatAttributeValue(java.lang.String key)
key
- name of attributepublic boolean getBooleanAttributeValue(java.lang.String key, boolean def)
key
- name of attributedef
- default return value if attribute is not foundpublic boolean getBooleanAttributeValue(java.lang.String key)
key
- name of attributepublic java.lang.String getStringAttributeValue(java.lang.String key, java.lang.String def)
key
- name of attributedef
- default return value if attribute is not foundpublic java.lang.String getStringAttributeValue(java.lang.String key)
key
- name of attributepublic java.util.List<java.lang.Object> getListAttributeValue(java.lang.String key)
key
- name of attributepublic java.util.Set<java.lang.String> getAttributeKeys()
public java.util.Map<java.lang.String,Attribute> getAttributes()
public void saveAttributes()
public void reactOnAttributeChange(java.lang.String s, Attribute attribute)
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public TreeNode[] getSortedChildren()
public TreeNode[] getSortedChildren(java.lang.String type)
type
- required type of childrenpublic TreeNode[] getSortedChildren(java.util.Comparator<TreeNode> c, java.lang.String type)
c
- comparator that defines order of return elementstype
- required type of childrenpublic java.lang.Object getListAttributeValue(java.lang.String attrLocations, AttributeType tp)
public java.lang.String getResourcesPath()
public NodeDesc toNodeDesc()
public NodeDesc toNodeDesc(java.lang.Boolean deep)
deep
- make intermediate representation of childrenpublic java.io.InputStream getResourceContent(java.lang.String name)
name
- name of resource to getpublic java.lang.String[] listResources()
public void setResourceContent(java.lang.String name, java.io.InputStream in)
name
- name of resourcein
- content of resource in form of streampublic void setResourceContent(java.lang.String name, java.io.InputStream in, java.lang.Object data)
name
- name of resourcein
- content of resource in form of streamdata
- deprecatedpublic void deleteResource(java.lang.String name)
name
- name of resource to deletepublic boolean isResourceExists(java.lang.String name)
name
- name of resource to checkpublic Index getIndex()
public void setIndex(Index index)
index
- index of elementpublic boolean isDisposed()
public void setDisposed()
public java.lang.String getUserFriendlyName(boolean inner)
inner
- deprecated?public java.lang.String getUserFriendlyName()
public void updateTreeNodes(TreeNode req, java.lang.String what)
req
- requirement to updatewhat
- name of attribute to be updated(or "_id" for when identifier is updating)public void addChangeListener(INodeChangeListener l)
l
- change listenerpublic void removeChangeListener(INodeChangeListener l)
l
- change listener to be removedpublic void addGuiChangeListener(INodeChangeListener l)
l
- change listener to addpublic void removeGuiChangeListener(INodeChangeListener l)
l
- change listener to removepublic void fireNodeDelete()
public void fireNodeAttributeChange(java.lang.String what)
changed
- attribute namepublic INodeChangeListener getChangeListener()
public java.util.Map<java.lang.String,java.lang.Object> getAttributesMap(boolean handlePredicate)
public java.lang.String evaluatePredicateString(TreeNode node, java.lang.String predicate)
public boolean isNameDefined()
public java.lang.String getNameOrId()
public void setName(java.lang.String name)
public java.lang.String getName()
public void fireGUINodeDelete()
public void fireGUINodeAttributeChange(java.lang.String what)
what
- name of changed attributepublic java.util.Iterator<TreeNode> iterator()
iterator
in interface java.lang.Iterable<TreeNode>
public void fireNodeAttributeChange(java.lang.String attributeName, AttributeGenerator.ParameterAvailability availability)
public void fireGUINodeAttributeChange(java.lang.String attributeName, AttributeGenerator.ParameterAvailability availability)
public java.util.List<TreeNode> getLinkedNodes()
public java.util.List<java.util.UUID> getRawChildrenUUIDs()
public int sizeRawChildren()
public void virtualReplaceNames()
public TreeNode getRawChild(int i)
public void buildDependencies(Attribute a)
public java.lang.String getLinkLabel(java.lang.String key)
public static java.lang.String getLinkLabel(TreeNode targ, java.lang.String expression, java.lang.String label)