com.unitesk.requality.core
public class TreeDB extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_REFERENCE_NAME |
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) |
java.lang.String |
getDefReferenceName() |
IStorageDeltaListener |
getDeltaTarget() |
int |
getGlobalRefTargetState() |
java.util.List<ITreeChangeListener> |
getGUIListeners() |
LinkResolver |
getLinkResolver() |
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)
Method to get element by "QualifiedId" or "User-visible name" or "Full name"
|
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) |
TreeNode |
getRefTarget() |
int |
getRefTargetState(TreeNode node) |
java.util.List<java.lang.String> |
getRelatedLinkTo() |
TreeNode |
getRootNode() |
ITreeStorage |
getStorage()
Get current data storage.
|
java.util.List<java.lang.String> |
getTestGeneratorsFilters() |
java.util.List<ITransactionListener> |
getTransactionListeners() |
TreeLogic |
getTreeLogic()
Get specific object delegated for different checks like check on parent-child relations and element identifiers check.
|
java.lang.String |
getTreeNodeType(java.util.UUID uid)
Returns Type of element with given uid if it exists.
|
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 |
isLoaded(java.util.UUID uid) |
boolean |
isResourceExists(TreeNode node,
java.lang.String name)
Method to check existence of resource with name "name" on element node
|
boolean |
isVirtual()
Returns 'virtuality' status of catalog.
|
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 |
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 |
setRefTarget(TreeNode node) |
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)
Sets 'virtuality' status of catalog.
|
void |
startChangeRow()
Combine all future events in a row to be handled concurrently.
|
boolean |
startTransaction(java.lang.String name) |
boolean |
startTransaction(java.lang.String name,
boolean check)
Method to start transaction - cancelable set of changes.
|
void |
stopChangeRow()
Stop event row started with startChangeRow() method
|
protected void |
updateGenerators(TreeNode curNode) |
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 static final java.lang.String DEFAULT_REFERENCE_NAME
public java.util.List<java.lang.String> getTestGeneratorsFilters()
public java.lang.String getTreeNodeType(java.util.UUID uid)
uid
- uuid of elementpublic 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 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)
qId
- path to elementpublic TreeNode getNode(java.lang.String qId, boolean rawPath)
qId
- path to elementrawPath
- if true, ignore hide mechanismspublic 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 boolean startTransaction(java.lang.String name)
public boolean startTransaction(java.lang.String name, boolean check)
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()
public LinkResolver getLinkResolver()
public boolean isLoaded(java.util.UUID uid)
protected void updateGenerators(TreeNode curNode)
public TreeNode getRefTarget()
public int getRefTargetState(TreeNode node)
public void setRefTarget(TreeNode node)
public java.lang.String getDefReferenceName()
public int getGlobalRefTargetState()
public java.util.List<ITransactionListener> getTransactionListeners()