com.unitesk.requality.core
public class TreeDB extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
INDEX_ATTRIBUTE |
static java.lang.String |
ORDER_ATTRIBUTE |
static java.lang.String |
TEST_GENERATORS_FILTERS |
Modifier and Type | Method and Description |
---|---|
boolean |
addGUIListener(ITreeChangeListener listener) |
boolean |
addListener(ITreeChangeListener listener)
Add listener on element changes
|
void |
addNodeType(java.lang.Class<? extends TreeNode> clazz) |
void |
addNodeType(java.lang.String name,
java.lang.Class<? extends TreeNode> clazz) |
void |
addNodeTypes(java.util.Map<java.lang.String,java.lang.Class<? extends TreeNode>> nts) |
void |
addTransactionListener(ITransactionListener l)
Add listener on transactions events
|
TransactionStorage |
commit()
Method to end transaction and apply changes on main storage.
|
static TreeDB |
create(java.lang.String name,
ITreeStorage storage)
Creates db structures and root node
|
static TreeDB |
create(java.lang.String name,
ITreeStorage storage,
IUUIDGenerator uuidGenerator)
Creates db structures and root node
|
TreeNode |
createChildNode(java.util.UUID pUUId,
java.lang.String id,
java.lang.String type)
Method to create child element for element with pUUId identifier.
|
TreeNode |
createChildNode(java.util.UUID uuid,
java.util.UUID pUUId,
java.lang.String id,
java.lang.String type)
Method to create child element for element with pUUId identifier.
|
void |
createType(NodeType newType) |
void |
deleteResource(TreeNode node,
java.lang.String name)
Delete resource on element node with name "name"
|
void |
fireNodeChange(TreeNode curNode,
boolean internal)
Method to fire element change event.
|
void |
fireNodeGUIChange(TreeNode curNode,
boolean internal) |
IStorageDeltaListener |
getDeltaTarget() |
java.util.List<ITreeChangeListener> |
getGUIListeners() |
java.util.List<java.lang.String> |
getLinkToTypeFilter() |
java.util.List<java.lang.String> |
getLinkToTypeFilter(java.lang.String linktype)
String for representing of Node's types filter in form of list of string names of types.
|
java.util.List<ITreeChangeListener> |
getListeners()
Get list of listeners on tree changes.
|
java.lang.String |
getName()
Get name of linked to treeDB Storage
|
TreeNode |
getNode(java.lang.String qId) |
TreeNode |
getNode(java.lang.String qId,
boolean rawPath)
Method to get element by "QualifiedId" or "User-visible name" or "Full name"
|
TreeNode |
getNode(java.util.UUID uuid) |
java.lang.String[] |
getNodesByUFName(java.lang.String path)
Method to get all possible elements with given User-Visible name
Method to get Array of UUId's of elements with given User Visible Id
|
java.lang.String[] |
getNodesByUFName(java.lang.String path,
java.util.List<java.lang.String> types)
Method to get Array of UUId's of elements with given User Visible Id
|
NodeType |
getNodeType(java.lang.String name) |
java.util.List<java.lang.String> |
getRelatedLinkTo() |
TreeNode |
getRootNode() |
ITreeStorage |
getStorage()
Get current data storage.
|
java.util.List<java.lang.String> |
getTestGeneratorsFilters() |
TreeLogic |
getTreeLogic()
Get specific object delegated for different checks like check on parent-child relations and element identifiers check.
|
java.util.Map<java.lang.String,NodeType> |
getTypes()
Method to get map of element types in form
of pairs String type name -> NodeType
|
IUUIDGenerator |
getUuidGenerator()
Method to get uuid generator
|
boolean |
isResourceExists(TreeNode node,
java.lang.String name)
Method to check existence of resource with name "name" on element node
|
boolean |
isVirtual() |
static TreeDB |
load(ITreeStorage storage) |
static TreeDB |
load(ITreeStorage storage,
IUUIDGenerator uuidGenerator) |
void |
moveNode(TreeNode node,
TreeNode newParent)
Move element from one parent to another
|
boolean |
removeGUIListener(ITreeChangeListener listener) |
boolean |
removeListener(ITreeChangeListener listener)
Remove listener on element changes
|
void |
removeNode(TreeNode node)
Recursively remove element and all its descendants.
|
void |
removeNode(TreeNode node,
boolean first) |
void |
removeTransactionListener(ITransactionListener l)
Remove listener from transaction listeners
|
boolean |
removeType(java.lang.String typeName) |
void |
rollback()
Cancel all changes after startTransaction.
|
void |
saveAttributes(java.util.UUID uuid,
java.util.Collection<Attribute> attributes)
Save attributes of element with uuid as attributes
|
void |
setResourceContent(TreeNode node,
java.lang.String name,
java.io.InputStream in,
java.lang.Object data)
Method to set content of resource with name 'name' on element node
|
void |
setVirtualState(boolean value) |
void |
startChangeRow()
Combine all future events in a row to be handled concurrently.
|
void |
startTransaction(java.lang.String name)
Method to start transaction - cancelable set of changes.
|
void |
stopChangeRow()
Stop event row started with startChangeRow() method
|
void |
updateLinks(TreeNode node,
java.lang.String attrname) |
void |
updateLinks(TreeNode node,
java.lang.String attrname,
boolean removeHiddenLinks)
Update stored linkto: constructions and attribute where
[linkto: ] data stored.
|
void |
updateNodeAttributes(TreeNode node)
Method to replace node attributes by stored values
|
void |
updateNodeChildren(TreeNode result) |
void |
updateNodeChildren(TreeNode result,
boolean init) |
void |
updateRequirementName(TreeNode node)
Method to update cached requirement name.
|
void |
updateRequirementName(java.util.UUID uid,
java.lang.String newName)
Method to update cached requirement name.
|
void |
updateRequirementsNames()
Update cache of requirements names.
|
public static final java.lang.String ORDER_ATTRIBUTE
public static final java.lang.String INDEX_ATTRIBUTE
public static final java.lang.String TEST_GENERATORS_FILTERS
public java.util.List<java.lang.String> getTestGeneratorsFilters()
public void startChangeRow()
public boolean isVirtual()
public void setVirtualState(boolean value)
public void stopChangeRow()
public TreeLogic getTreeLogic()
public TreeNode createChildNode(java.util.UUID pUUId, java.lang.String id, java.lang.String type)
pUUId
- parent UUID for elementid
- identifier of element, needs to comply with TreeLogic.isChildIdValidExctype
- type of element, @see TreeNode.getType
public TreeNode createChildNode(java.util.UUID uuid, java.util.UUID pUUId, java.lang.String id, java.lang.String type)
uuid
- UUID of elementpUUId
- parent UUID for created elementid
- identifier of element, needs to comply with TreeLogic.isChildIdValidExctype
- type of element, @see TreeNode.getType
public void removeNode(TreeNode node)
node
- element to removepublic void removeNode(TreeNode node, boolean first)
public void moveNode(TreeNode node, TreeNode newParent)
node
- node to movenewParent
- new parent of elementpublic TreeNode getRootNode()
public void updateRequirementName(TreeNode node)
node
- requirement to update namepublic void updateRequirementName(java.util.UUID uid, java.lang.String newName)
node
- requirement to update namepublic java.lang.String[] getNodesByUFName(java.lang.String path)
path
- array of uuidspublic java.lang.String[] getNodesByUFName(java.lang.String path, java.util.List<java.lang.String> types)
path
- array of uuidspublic TreeNode getNode(java.util.UUID uuid)
public TreeNode getNode(java.lang.String qId)
public TreeNode getNode(java.lang.String qId, boolean rawPath)
qId
- path to elementpublic void saveAttributes(java.util.UUID uuid, java.util.Collection<Attribute> attributes)
uuid
- identifier of elementattributes
- public void setResourceContent(TreeNode node, java.lang.String name, java.io.InputStream in, java.lang.Object data)
node
- element to set resource forname
- name of resourcein
- content of resourcedata
- @deprecatedpublic void deleteResource(TreeNode node, java.lang.String name)
node
- element from which resource will be deletedname
- name of resourcepublic boolean isResourceExists(TreeNode node, java.lang.String name)
node
- element where resource can bename
- name of resource to checkpublic java.lang.String getName()
public void startTransaction(java.lang.String name)
name
- name of transaction to show on undo\redo mechanicspublic TransactionStorage commit()
public void rollback()
public void addTransactionListener(ITransactionListener l)
l
- listener to addpublic void removeTransactionListener(ITransactionListener l)
l
- listener to removepublic void addNodeType(java.lang.String name, java.lang.Class<? extends TreeNode> clazz)
public void addNodeType(java.lang.Class<? extends TreeNode> clazz)
public void addNodeTypes(java.util.Map<java.lang.String,java.lang.Class<? extends TreeNode>> nts)
public java.util.Map<java.lang.String,NodeType> getTypes()
public void createType(NodeType newType)
public NodeType getNodeType(java.lang.String name)
public boolean removeType(java.lang.String typeName)
public static TreeDB create(java.lang.String name, ITreeStorage storage, IUUIDGenerator uuidGenerator)
name
- storage
- uuidGenerator
- public static TreeDB create(java.lang.String name, ITreeStorage storage)
name
- storage
- public static TreeDB load(ITreeStorage storage, IUUIDGenerator uuidGenerator)
public void updateRequirementsNames()
public static TreeDB load(ITreeStorage storage)
public boolean addListener(ITreeChangeListener listener)
listener
- listener on element changespublic boolean removeListener(ITreeChangeListener listener)
listener
- listener to removepublic java.util.List<ITreeChangeListener> getListeners()
public java.util.List<ITreeChangeListener> getGUIListeners()
public boolean addGUIListener(ITreeChangeListener listener)
public boolean removeGUIListener(ITreeChangeListener listener)
public void updateNodeAttributes(TreeNode node)
node
- element to replace attributes onpublic IUUIDGenerator getUuidGenerator()
public ITreeStorage getStorage()
public void updateNodeChildren(TreeNode result)
public void updateNodeChildren(TreeNode result, boolean init)
public void fireNodeChange(TreeNode curNode, boolean internal)
curNode
- changed elementinternal
- true if event appears from inner mechanicspublic java.util.List<java.lang.String> getLinkToTypeFilter(java.lang.String linktype)
public java.util.List<java.lang.String> getRelatedLinkTo()
public java.util.List<java.lang.String> getLinkToTypeFilter()
public void updateLinks(TreeNode node, java.lang.String attrname, boolean removeHiddenLinks)
attrname
- Name of attribute where links can be placedpublic void updateLinks(TreeNode node, java.lang.String attrname)
public void fireNodeGUIChange(TreeNode curNode, boolean internal)
public IStorageDeltaListener getDeltaTarget()