public class TreeDB
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
TreeDB.SortingMethod |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACTIVE_TEMPLATES_ATTRIBUTE |
static java.lang.String |
DEFAULT_REFERENCE_NAME |
static java.lang.String |
EMPTY_TEMPLATE |
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) |
TreeNode |
createChildNode(java.util.UUID pUUId,
java.lang.String id,
java.lang.String type,
java.lang.String templ)
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,
boolean ignoreTemplate) |
TreeNode |
createChildNode(java.util.UUID uuid,
java.util.UUID pUUId,
java.lang.String id,
java.lang.String type,
java.lang.String templ,
boolean ignoreTemplate)
Method to create child element for element with pUUId identifier.
|
TreeNode |
createTemplate(java.lang.String type) |
void |
createType(NodeType newType) |
void |
deleteResource(TreeNode node,
java.lang.String name)
Delete resource on element node with name "name"
|
boolean |
extractTemplate(TreeNode node,
java.lang.String name) |
java.util.UUID |
findNode(TreeNode node,
java.lang.String[] tokens) |
void |
fireNodeChange(TreeNode curNode,
java.util.Set<java.lang.String> params,
boolean internal)
Method to fire element change event.
|
void |
fireNodeGUIChange(TreeNode curNode,
java.util.Set<java.lang.String> attrs,
boolean internal) |
void |
fireNodeGUIRemoved(TreeNode node,
boolean b) |
TreeNode |
getActiveTemplate(java.lang.String type) |
java.util.Map<java.lang.String,java.lang.String> |
getActiveTemplates() |
java.lang.String |
getDefReferenceName() |
IStorageDeltaListener |
getDeltaTarget() |
java.lang.String |
getFullName(java.lang.String targetQID) |
java.lang.String |
getFullName(TreeNode node) |
boolean |
getFullNameMode() |
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 |
getOrCreateTemplatesFolder() |
java.lang.String |
getQualifiedId(java.util.UUID origin) |
TreeNode |
getRefTarget() |
int |
getRefTargetState(TreeNode node) |
java.util.List<java.lang.String> |
getRelatedLinkTo() |
TreeNode |
getRootNode() |
TreeDB.SortingMethod |
getSortingMehod() |
java.lang.String |
getSortingString() |
ITreeStorage |
getStorage()
Get current data storage.
|
TreeNode |
getTemplate(java.lang.String name) |
java.util.List<TreeNode> |
getTemplates() |
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 |
loadActiveTemplates() |
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 |
saveActiveTemplates() |
void |
saveAttributes(java.util.UUID uuid,
java.util.Set<java.lang.String> changes,
java.util.Collection<Attribute> attributes)
Save attributes of element with uuid as attributes
|
void |
setActiveTemplate(java.lang.String type,
java.lang.String templ) |
void |
setFullNameMode(boolean useUVName) |
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
|
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 static final java.lang.String ACTIVE_TEMPLATES_ATTRIBUTE
public static final java.lang.String EMPTY_TEMPLATE
public boolean getFullNameMode()
public void setFullNameMode(boolean useUVName)
public void loadActiveTemplates()
public java.util.Map<java.lang.String,java.lang.String> getActiveTemplates()
public void saveActiveTemplates()
public TreeNode getOrCreateTemplatesFolder()
public TreeNode createTemplate(java.lang.String type)
public boolean extractTemplate(TreeNode node, java.lang.String name)
public java.util.List<TreeNode> getTemplates()
public TreeNode getTemplate(java.lang.String name)
public void setActiveTemplate(java.lang.String type, java.lang.String templ)
public TreeNode getActiveTemplate(java.lang.String type)
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)
public TreeNode createChildNode(java.util.UUID pUUId, java.lang.String id, java.lang.String type, java.lang.String templ)
pUUId
- parent UUID for elementid
- identifier of element, needs to comply with TreeLogic.isChildIdValidExctype
- type of element, @see TreeNode.getType
templ
- public TreeNode createChildNode(java.util.UUID uuid, java.util.UUID pUUId, java.lang.String id, java.lang.String type, boolean ignoreTemplate)
public TreeNode createChildNode(java.util.UUID uuid, java.util.UUID pUUId, java.lang.String id, java.lang.String type, java.lang.String templ, boolean ignoreTemplate)
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.util.UUID findNode(TreeNode node, java.lang.String[] tokens)
public 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.Set<java.lang.String> changes, 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, java.util.Set<java.lang.String> params, 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, java.util.Set<java.lang.String> attrs, boolean internal)
public IStorageDeltaListener getDeltaTarget()
public LinkResolver getLinkResolver()
public boolean isLoaded(java.util.UUID uid)
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()
public java.lang.String getQualifiedId(java.util.UUID origin)
public void fireNodeGUIRemoved(TreeNode node, boolean b)
public TreeDB.SortingMethod getSortingMehod()
public java.lang.String getSortingString()
public java.lang.String getFullName(java.lang.String targetQID)
public java.lang.String getFullName(TreeNode node)