public class TreeDB
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACTIVE_TEMPLATES_ATTRIBUTE |
java.util.Map<java.lang.String,java.util.Set<java.util.UUID>> |
attrRootCache |
java.util.Map<java.util.UUID,java.util.Set<java.lang.String>> |
attrRootRevCache |
static char |
DATA_SEPARATOR |
static int |
DEFAULT_DEPTH |
static java.lang.String |
DEFAULT_REFERENCE_NAME |
static java.lang.String |
EMPTY_TEMPLATE |
static java.lang.String |
INDEX_ATTRIBUTE |
static java.lang.String |
MAX_FID |
static java.lang.String |
ORDER_ATTRIBUTE |
static java.lang.String |
SORT_BY_INDEX |
static java.lang.String |
SORT_BY_LOCATIONS |
static java.lang.String |
SORT_METHOD |
static java.lang.String |
SORT_SEP_TYPES |
static java.lang.String |
TEST_GENERATORS_FILTERS |
boolean |
textIsSimple |
Modifier and Type | Method and Description |
---|---|
static ChangesSet<Attribute> |
addAttrsRec(AttributeStorage as)
Method to gather local deps from "what" set, update as and chVis.
|
void |
addDelayed(java.lang.Runnable object) |
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 |
addRemovePool(TreeNode node) |
void |
addTransactionListener(ITransactionListener l)
Add listener on transactions events
|
void |
clearAllCaches(boolean clearOnlyLoaded) |
static void |
clearAllCaches(TreeDB db,
java.util.UUID uid) |
void |
clearTagsCache() |
void |
close() |
TransactionStorage |
commit()
Method to end transaction and apply changes on main storage.
|
void |
commitAttributes(TreeNode node,
ChangesSet<Attribute> changes,
boolean save)
Save attributes of element with uuid as attributes
|
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.util.Map<java.lang.String,AttributeDefinition> attrs) |
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) |
void |
fireNodeChange(TreeNode curNode,
ChangesSet<Attribute> params,
boolean internal)
Method to fire element change event.
|
void |
fireNodeChildrenOrderChange(TreeNode shownParent) |
void |
fireNodeChildrenOrderChange(TreeNode shownParent,
boolean clear) |
void |
fireNodeGUIChange(TreeNode curNode,
ChangesSet<Attribute> cs,
boolean internal) |
void |
fireNodeGUIMove(TreeNode curNode,
TreeNode from,
TreeNode to,
boolean internal) |
void |
fireNodeGUIRemoved(TreeNode node,
boolean b,
Moment m) |
TreeNode |
getActiveTemplate(java.lang.String type) |
java.util.Map<java.lang.String,java.lang.String> |
getActiveTemplates() |
AttributesRulesHolder |
getAttributeRules() |
java.lang.Object |
getAttributeValue(java.util.UUID where,
java.lang.String key,
java.lang.Object object,
boolean forcelocal) |
TreeNode |
getByTags(TreeNode node,
java.lang.String link) |
java.util.Map<java.util.UUID,TreeNode> |
getCache() |
TreeNode |
getCachedNode(java.util.UUID uuid) |
TreeNode |
getCachedNodeOrVirt(java.util.UUID uuid) |
TreeNode |
getCachedNodeOrVirt(java.util.UUID uuid,
int deep) |
TreeNode |
getCachedRootNode() |
CacheStorage |
getCacheStorage() |
int |
getChangeRowCount() |
CheckerContainer |
getCheckerContainer() |
IMark[] |
getCheckerProblems(TreeNode node) |
java.util.Map<java.util.UUID,IMark[]> |
getChprob() |
java.util.UUID |
getCloneParent(java.util.UUID node) |
static CacheStorage |
getCPCacheStorage() |
static LinkResolver |
getCPLinkResolver() |
java.lang.String |
getDefReferenceName() |
IStorageDeltaListener |
getDeltaTarget() |
java.util.Collection<Attribute> |
getEnumDefinitons() |
java.lang.String |
getFullName(java.lang.String targetQID) |
java.lang.String |
getFullName(TreeNode node) |
java.lang.String |
getFullName(TreeNode node,
boolean inner) |
boolean |
getFullNameMode() |
int |
getGlobalRefTargetState() |
java.util.List<ITreeChangeListener> |
getGUIListeners() |
int |
getLevelOfAbstraction() |
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,
int mode)
Method to get element by "QualifiedId" or "User-visible name" or "Full name".
|
TreeNode |
getNode(java.util.UUID uuid) |
TreeNode |
getNode(java.util.UUID uuid,
int depth,
boolean notcheck) |
TreeNode |
getNodeExc(java.lang.String qId,
int mode) |
TreeNode |
getNodeExc(java.util.UUID uuid) |
java.lang.String[] |
getNodesByUFName(java.lang.String s,
java.util.List<java.lang.String> filter) |
NodeType |
getNodeType(java.lang.String name) |
java.lang.String |
getNodeType(java.util.UUID uid)
Returns Type of element with given uid if it exists.
|
IStorageDeltaListener |
getNullDeltaListener() |
TreeNode |
getOrCreateTemplatesFolder() |
java.lang.String |
getQualifiedId(java.util.UUID origin) |
TreeNode |
getRefTarget() |
int |
getRefTargetState(TreeNode node) |
java.util.List<java.lang.String> |
getRelatedLinkTo() |
java.lang.String |
getResName() |
TreeNode |
getRootNode() |
java.util.UUID |
getRootNodeUUID() |
SortingSettings |
getSortingSettings() |
ITreeStorage |
getStorage()
Get current data storage.
|
TreeNode |
getTemplate(java.lang.String name) |
java.util.List<TreeNode> |
getTemplates() |
TreeNode |
getTemplatesFolder() |
TermsStorage |
getTermsStorage() |
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.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
|
TreeInstancer |
getVStorage() |
void |
handleTreeNodeChanges(TreeNode curNode,
ChangesSet<Attribute> what,
Moment m,
boolean internal) |
void |
initNodeAttributes(TreeNode node,
java.util.Map<java.lang.String,AttributeDefinition> newAttributes) |
void |
initRootTypes() |
boolean |
inTransaction() |
boolean |
isBusy() |
boolean |
isHidden(java.util.UUID uid) |
boolean |
isLoaded() |
boolean |
isLoaded(java.util.UUID uid) |
boolean |
isNodeExist(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) |
static TreeDB |
load(ITreeStorage storage,
IUUIDGenerator uuidGenerator,
int loa,
TreeDB base) |
void |
loadActiveTemplates() |
static SortingSettings |
loadSettings(TreeNode node) |
void |
moveNode(TreeNode node,
TreeNode newParent)
Move element from one parent to another
|
void |
removeCache(java.util.UUID uuId,
java.util.UUID par,
int deep) |
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(TreeNode node,
ChangesSet<Attribute> changes,
boolean save) |
void |
setActiveTemplate(java.lang.String type,
java.lang.String templ) |
void |
setCheckers(CheckerContainer checkers) |
void |
setChprob(java.util.Map<java.util.UUID,IMark[]> chprob) |
void |
setChprobUnit(java.util.UUID uid,
IMark[] marks) |
void |
setFullNameMode(boolean useUVName) |
void |
setIsLoaded() |
void |
setIsLoaded(boolean val) |
void |
setRefTarget(TreeNode node) |
void |
setResourceContent(TreeNode node,
java.lang.String name,
java.io.InputStream in,
java.lang.Object data)
Deprecated.
|
void |
setSortingMethod(SortingSettings sortingSettings,
boolean save) |
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
|
java.lang.String |
toString() |
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 |
updateNodeChildren(TreeNode result) |
static void |
updateNodeChildren(TreeNode result,
boolean init) |
void |
updateRequirementName(TreeNode node)
Method to update cached requirement name.
|
void |
updateRequirementsNames(TreeNode node)
Update cache of requirements names.
|
static java.util.List<java.util.UUID> |
updateVisablility(TreeDB db,
java.util.List<java.util.UUID> nodes) |
public static final int DEFAULT_DEPTH
public static final java.lang.String MAX_FID
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 static final java.lang.String SORT_BY_INDEX
public static final java.lang.String SORT_BY_LOCATIONS
public static final java.lang.String SORT_SEP_TYPES
public static final java.lang.String SORT_METHOD
public boolean textIsSimple
public static char DATA_SEPARATOR
public java.util.Map<java.util.UUID,java.util.Set<java.lang.String>> attrRootRevCache
public java.util.Map<java.lang.String,java.util.Set<java.util.UUID>> attrRootCache
public AttributesRulesHolder getAttributeRules()
public void clearTagsCache()
public java.lang.String[] getNodesByUFName(java.lang.String s, java.util.List<java.lang.String> filter)
public CheckerContainer getCheckerContainer()
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 getTemplatesFolder()
public CacheStorage getCacheStorage()
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 getNodeType(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 void initRootTypes()
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 TreeNode createChildNode(java.util.UUID uuid, java.util.UUID pUUId, java.lang.String id, java.util.Map<java.lang.String,AttributeDefinition> attrs)
public void removeNode(TreeNode node)
node
- element to removepublic void moveNode(TreeNode node, TreeNode newParent)
node
- node to movenewParent
- new parent of elementpublic java.util.UUID getRootNodeUUID()
public TreeNode getCachedRootNode()
public TreeNode getRootNode()
public void updateRequirementName(TreeNode node)
node
- requirement to update namepublic TreeNode getNode(java.util.UUID uuid)
public boolean isNodeExist(java.util.UUID uid)
public TreeNode getNodeExc(java.util.UUID uuid) throws NodeNotFoundException
NodeNotFoundException
public TreeNode getCachedNodeOrVirt(java.util.UUID uuid)
public TreeNode getCachedNodeOrVirt(java.util.UUID uuid, int deep)
public TreeNode getCachedNode(java.util.UUID uuid)
public TreeNode getNode(java.util.UUID uuid, int depth, boolean notcheck) throws NodeNotFoundException
NodeNotFoundException
public TreeNode getNode(java.lang.String qId)
qId
- path to elementpublic TreeNode getNode(java.lang.String qId, int mode)
qId
- path to elementrawPath
- if true, ignore hide mechanismspublic TreeNode getNodeExc(java.lang.String qId, int mode)
public void commitAttributes(TreeNode node, ChangesSet<Attribute> changes, boolean save)
uuid
- identifier of elementpublic void saveAttributes(TreeNode node, ChangesSet<Attribute> changes, boolean save)
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
- public 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 java.lang.String getResName()
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 static TreeDB load(ITreeStorage storage, IUUIDGenerator uuidGenerator, int loa, TreeDB base)
public void updateRequirementsNames(TreeNode node)
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 handleTreeNodeChanges(TreeNode curNode, ChangesSet<Attribute> what, Moment m, boolean internal)
public void addDelayed(java.lang.Runnable object)
public boolean isHidden(java.util.UUID uid)
public static ChangesSet<Attribute> addAttrsRec(AttributeStorage as)
as
- Attribute storage contextwhat
- set of names to be handledchVis
- changes set to be extendednow
- set of new definitions to be used in attribute form mechanicspublic java.lang.Object getAttributeValue(java.util.UUID where, java.lang.String key, java.lang.Object object, boolean forcelocal)
public void initNodeAttributes(TreeNode node, java.util.Map<java.lang.String,AttributeDefinition> newAttributes)
public IUUIDGenerator getUuidGenerator()
public ITreeStorage getStorage()
public TreeInstancer getVStorage()
public void updateNodeChildren(TreeNode result)
public static void updateNodeChildren(TreeNode result, boolean init)
public void fireNodeChange(TreeNode curNode, ChangesSet<Attribute> 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 SortingSettings getSortingSettings()
public static SortingSettings loadSettings(TreeNode node)
public void updateLinks(TreeNode node, java.lang.String attrname)
public void fireNodeChildrenOrderChange(TreeNode shownParent)
public void fireNodeChildrenOrderChange(TreeNode shownParent, boolean clear)
public void fireNodeGUIChange(TreeNode curNode, ChangesSet<Attribute> cs, boolean internal)
public void fireNodeGUIMove(TreeNode curNode, TreeNode from, TreeNode to, 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 java.lang.String getFullName(java.lang.String targetQID)
public java.lang.String getFullName(TreeNode node)
public java.lang.String getFullName(TreeNode node, boolean inner)
public IStorageDeltaListener getNullDeltaListener()
public java.util.Collection<Attribute> getEnumDefinitons()
public void setCheckers(CheckerContainer checkers)
public int getLevelOfAbstraction()
public void setIsLoaded()
public void setIsLoaded(boolean val)
public boolean isLoaded()
public int getChangeRowCount()
public boolean isBusy()
public java.util.UUID getCloneParent(java.util.UUID node)
public void setSortingMethod(SortingSettings sortingSettings, boolean save)
public static java.util.List<java.util.UUID> updateVisablility(TreeDB db, java.util.List<java.util.UUID> nodes)
public java.util.Map<java.util.UUID,IMark[]> getChprob()
public void setChprob(java.util.Map<java.util.UUID,IMark[]> chprob)
public void setChprobUnit(java.util.UUID uid, IMark[] marks)
public void clearAllCaches(boolean clearOnlyLoaded)
public static void clearAllCaches(TreeDB db, java.util.UUID uid)
public void removeCache(java.util.UUID uuId, java.util.UUID par, int deep)
public void addRemovePool(TreeNode node)
public java.util.Map<java.util.UUID,TreeNode> getCache()
public void close()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean inTransaction()
public static CacheStorage getCPCacheStorage()
public static LinkResolver getCPLinkResolver()
public TermsStorage getTermsStorage()