C# 클래스 DBreeze.DataStructures.DataAsTree

Ierarchical DataStructure. Any node can have subnodes and own binary content
파일 보기 프로젝트 열기: hhblaze/DBreeze 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
NodeContent byte[]
NodeId long
NodeName string
ParentNodeId long

보호된 프로퍼티들

프로퍼티 타입 설명
ContentRef byte[]
DBreezeTableName string
RootNode DataAsTree
Transaction DBreeze.Transactions.Transaction
maximalInsertSpeed bool
nt2Read DBreeze.DataTypes.NestedTable
nt2Write DBreeze.DataTypes.NestedTable
nt3Read DBreeze.DataTypes.NestedTable
nt3Write DBreeze.DataTypes.NestedTable

공개 메소드들

메소드 설명
AddNode ( DataAsTree node ) : DataAsTree

Adding children to the node

Table, storing data structure, must be in tran.SynchronizeTables list. Then transaction must be Committed in the end by the programmer.

AddNodes ( IEnumerable nodes ) : void

Adding children to the node

Table, storing data structure, must be in tran.SynchronizeTables list. Then transaction must be Committed in the end by the programmer.

CheckTransaction ( ) : void

Internal

CopyInternals ( DataAsTree node ) : void

Internal

DataAsTree ( string DBreezeTableName, DBreeze tran, bool maximalInsertSpeed = false ) : System

Initializing Root Node

DataAsTree ( string name, byte content = null ) : System

Init nodes for insert under another node

GetChildren ( ) : IEnumerable

Reading all children nodes

GetContent ( ) : byte[]

GetContent of a node,

GetFirstLevelChildrenNodesByParentId ( long parentId ) : IEnumerable

Returns first level nodes by their parent. To go depper, for every returned node can be used ReadOutAllChildrenNodesFromCurrentRecursively

GetNodeByParentIdAndNodeId ( long parentNodeId, long nodeId ) : DataAsTree

Returns node by ParentIdAndNodeId

GetNodesByName ( string nameStartsWithPart ) : IEnumerable

Returns nodes with suppled StartsWith name or complete name

ReadOutAllChildrenNodesFromCurrentRecursively ( ) : IEnumerable

Recursively reads out all children nodes starting from this recursiverly

RemoveNode ( DataAsTree node ) : void

Removes node

RemoveNode ( long parentNodeId, long nodeId ) : void

Removes node

RemoveOldNodeFromNameIndex ( string oldNodeName, byte keyToRemove ) : void

Internal

SetupReadTables ( ) : void

Internal

SetupWriteTables ( ) : void

Internal

보호된 메소드들

메소드 설명
DataAsTree ( ) : System

Internal

비공개 메소드들

메소드 설명
ReadOutNodes ( DataAsTree node ) : IEnumerable
SetupNodeFromRow ( byte[]>.DBreeze row ) : DataAsTree

Internal

SetupValueRowFromNode ( DataAsTree node, byte protocolVersion ) : byte[]

Internal

메소드 상세

AddNode() 공개 메소드

Adding children to the node

Table, storing data structure, must be in tran.SynchronizeTables list. Then transaction must be Committed in the end by the programmer.
public AddNode ( DataAsTree node ) : DataAsTree
node DataAsTree
리턴 DataAsTree

AddNodes() 공개 메소드

Adding children to the node

Table, storing data structure, must be in tran.SynchronizeTables list. Then transaction must be Committed in the end by the programmer.
public AddNodes ( IEnumerable nodes ) : void
nodes IEnumerable Nodes to add to current node
리턴 void

CheckTransaction() 공개 메소드

Internal
public CheckTransaction ( ) : void
리턴 void

CopyInternals() 공개 메소드

Internal
public CopyInternals ( DataAsTree node ) : void
node DataAsTree
리턴 void

DataAsTree() 보호된 메소드

Internal
protected DataAsTree ( ) : System
리턴 System

DataAsTree() 공개 메소드

Initializing Root Node
public DataAsTree ( string DBreezeTableName, DBreeze tran, bool maximalInsertSpeed = false ) : System
DBreezeTableName string Real table name in DBreeze, that will hold the structure, must be synchronized with other tables in transaction
tran DBreeze
maximalInsertSpeed bool will use DBreeze Technical_SetTable_OverwriteIsNotAllowed among transaction for DBreezeTableName
리턴 System

DataAsTree() 공개 메소드

Init nodes for insert under another node
public DataAsTree ( string name, byte content = null ) : System
name string
content byte optionaly can supply NodeContent
리턴 System

GetChildren() 공개 메소드

Reading all children nodes
public GetChildren ( ) : IEnumerable
리턴 IEnumerable

GetContent() 공개 메소드

GetContent of a node,
public GetContent ( ) : byte[]
리턴 byte[]

GetFirstLevelChildrenNodesByParentId() 공개 메소드

Returns first level nodes by their parent. To go depper, for every returned node can be used ReadOutAllChildrenNodesFromCurrentRecursively
public GetFirstLevelChildrenNodesByParentId ( long parentId ) : IEnumerable
parentId long
리턴 IEnumerable

GetNodeByParentIdAndNodeId() 공개 메소드

Returns node by ParentIdAndNodeId
public GetNodeByParentIdAndNodeId ( long parentNodeId, long nodeId ) : DataAsTree
parentNodeId long
nodeId long
리턴 DataAsTree

GetNodesByName() 공개 메소드

Returns nodes with suppled StartsWith name or complete name
public GetNodesByName ( string nameStartsWithPart ) : IEnumerable
nameStartsWithPart string
리턴 IEnumerable

ReadOutAllChildrenNodesFromCurrentRecursively() 공개 메소드

Recursively reads out all children nodes starting from this recursiverly
public ReadOutAllChildrenNodesFromCurrentRecursively ( ) : IEnumerable
리턴 IEnumerable

RemoveNode() 공개 메소드

Removes node
public RemoveNode ( DataAsTree node ) : void
node DataAsTree
리턴 void

RemoveNode() 공개 메소드

Removes node
public RemoveNode ( long parentNodeId, long nodeId ) : void
parentNodeId long
nodeId long
리턴 void

RemoveOldNodeFromNameIndex() 공개 메소드

Internal
public RemoveOldNodeFromNameIndex ( string oldNodeName, byte keyToRemove ) : void
oldNodeName string
keyToRemove byte
리턴 void

SetupReadTables() 공개 메소드

Internal
public SetupReadTables ( ) : void
리턴 void

SetupWriteTables() 공개 메소드

Internal
public SetupWriteTables ( ) : void
리턴 void

프로퍼티 상세

ContentRef 보호되어 있는 프로퍼티

Internal. Holds reference to DataBlock representing Content. node.GetContent must be used to read out content.
protected byte[] ContentRef
리턴 byte[]

DBreezeTableName 보호되어 있는 프로퍼티

Real table name in DBreeze, that will hold the structure
protected string DBreezeTableName
리턴 string

NodeContent 공개적으로 프로퍼티

This can be filled via constructor or extra when we insert a node
public byte[] NodeContent
리턴 byte[]

NodeId 공개적으로 프로퍼티

public long NodeId
리턴 long

NodeName 공개적으로 프로퍼티

Node name
public string NodeName
리턴 string

ParentNodeId 공개적으로 프로퍼티

public long ParentNodeId
리턴 long

RootNode 보호되어 있는 프로퍼티

protected DataAsTree,DBreeze.DataStructures RootNode
리턴 DataAsTree

Transaction 보호되어 있는 프로퍼티

protected DBreeze.Transactions.Transaction Transaction
리턴 DBreeze.Transactions.Transaction

maximalInsertSpeed 보호되어 있는 프로퍼티

protected bool maximalInsertSpeed
리턴 bool

nt2Read 보호되어 있는 프로퍼티

protected DBreeze.DataTypes.NestedTable nt2Read
리턴 DBreeze.DataTypes.NestedTable

nt2Write 보호되어 있는 프로퍼티

protected DBreeze.DataTypes.NestedTable nt2Write
리턴 DBreeze.DataTypes.NestedTable

nt3Read 보호되어 있는 프로퍼티

protected DBreeze.DataTypes.NestedTable nt3Read
리턴 DBreeze.DataTypes.NestedTable

nt3Write 보호되어 있는 프로퍼티

protected DBreeze.DataTypes.NestedTable nt3Write
리턴 DBreeze.DataTypes.NestedTable