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_ATTRGENERATORS |
static java.lang.String |
ATTR_BASE_NODES |
static java.lang.String |
ATTR_DESCRIPTION |
static java.lang.String |
ATTR_ERROR |
static java.lang.String |
ATTR_LINKS |
static java.lang.String |
ATTR_NAME |
static java.lang.String |
ATTR_PREDICATE |
static java.lang.String |
ATTR_TYPE |
static java.lang.String |
ATTR_UNDEFINED |
protected java.util.List<java.util.UUID> |
children |
protected java.util.Map<java.lang.String,Attribute> |
generatedValues |
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 |
---|---|
AttributeGenerator |
addAttributeIterator() |
AttributeGenerator |
addAttributeIterator(java.lang.String s) |
AttributeGenerator |
addAttributeIterator(TreeNode treeNode,
java.lang.String s) |
void |
addBaseNode(java.lang.String nodeQId) |
void |
addChangeListener(INodeChangeListener l)
Add Change Listener to be informed on changes of current node
|
protected void |
addChildUUID(java.util.UUID uid) |
void |
addExistsAttributeIterator(AttributeGenerator rag) |
void |
addGuiChangeListener(INodeChangeListener l)
Add change listener to be notified after set of actual changes
|
void |
buildDependencies() |
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 |
generateAttribute(java.lang.String string,
int i) |
Attribute |
getAttribute(java.lang.String key)
Get attribute with given attribute name.
|
java.util.concurrent.ConcurrentLinkedQueue<AttributeGenerator> |
getAttributeIterators() |
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.
|
java.util.Map<java.lang.String,AttributeGenerator> |
getAvailableGenerators(boolean force) |
java.util.Map<java.lang.String,AttributeGenerator> |
getAvailableGeneratorsOnNode(com.unitesk.requality.core.TreeNode.SenderStatus status) |
java.util.List<java.lang.String> |
getBaseNodes() |
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.
|
Attribute |
getGeneratedAttribute(java.lang.String key) |
AttributeGenerator |
getGenerator(java.lang.String string) |
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.
|
java.util.List<TreeNode> |
getLinkedNodes()
Get list of nodes linked to current by linkto: relation
|
java.util.List<java.lang.String> |
getListAttributeValue(java.lang.String key)
Get value of attribute with given key casted to list of string.
|
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
|
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() |
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.
|
protected Attribute |
rawPutAttribute(Attribute a) |
void |
registerAttributeGenerator(java.lang.String attributeName,
AttributeGenerator ai) |
Attribute |
removeAttribute(java.lang.String key)
Remove attribute with given attribute name.
|
Attribute |
removeAttribute(java.lang.String key,
boolean internal) |
boolean |
removeBaseNode(java.lang.String nodeQId) |
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
|
void |
removeIterator(RequalityIterator iter) |
void |
saveAttributeIterators() |
void |
saveAttributes()
Save all attribute changes in storage.
|
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 |
setPredicate(java.lang.String pred,
boolean temp) |
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() |
protected void |
updateDirectCloneChildren() |
void |
updateGeneratedVars(boolean handlePredicate,
boolean force) |
void |
updateGeneratedVars(boolean handlePredicate,
int num) |
void |
updateGeneratedVars(boolean handlePredicate,
int num,
boolean force) |
void |
updateGenerators() |
void |
updateGenerators(boolean force) |
void |
updateLocalGenerator(AttributeGenerator rag) |
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_BASE_NODES
public static final java.lang.String ATTR_LINKS
public static final java.lang.String ATTR_ATTRGENERATORS
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
protected java.lang.String id
protected java.util.List<java.util.UUID> children
protected java.util.List<java.util.UUID> outchildren
protected java.util.Map<java.lang.String,Attribute> generatedValues
protected Index index
public TreeNode(TreeDB db, java.util.UUID uuid)
protected boolean containsChildUUID(java.util.UUID uid)
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 void setPredicate(java.lang.String pred, boolean temp)
public 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 replaceprotected void updateDirectCloneChildren()
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 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.String> 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 addBaseNode(java.lang.String nodeQId)
public boolean removeBaseNode(java.lang.String nodeQId)
public java.util.List<java.lang.String> getBaseNodes()
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.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 void updateGeneratedVars(boolean handlePredicate, boolean force)
public java.util.Map<java.lang.String,AttributeGenerator> getAvailableGenerators(boolean force)
public java.util.Map<java.lang.String,AttributeGenerator> getAvailableGeneratorsOnNode(com.unitesk.requality.core.TreeNode.SenderStatus status)
public void updateGenerators()
public void updateGenerators(boolean force)
public void updateGeneratedVars(boolean handlePredicate, int num)
public void updateGeneratedVars(boolean handlePredicate, int num, boolean force)
public void registerAttributeGenerator(java.lang.String attributeName, AttributeGenerator ai)
public void saveAttributeIterators()
public AttributeGenerator addAttributeIterator()
public AttributeGenerator addAttributeIterator(java.lang.String s)
public AttributeGenerator addAttributeIterator(TreeNode treeNode, java.lang.String s)
public void addExistsAttributeIterator(AttributeGenerator rag)
public void updateLocalGenerator(AttributeGenerator rag)
public void removeIterator(RequalityIterator iter)
public AttributeGenerator getGenerator(java.lang.String string)
public Attribute generateAttribute(java.lang.String string, int i)
public java.util.concurrent.ConcurrentLinkedQueue<AttributeGenerator> getAttributeIterators()
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 Attribute getGeneratedAttribute(java.lang.String key)
public int sizeRawChildren()
public void virtualReplaceNames()
public TreeNode getRawChild(int i)
public void buildDependencies()