📄 perst.xml
字号:
<param name="setBits">bitmask specifying bits which should be set (1)</param>
<param name="clearBits">bitmask specifying bits which should be cleared (0)</param>
<returns>enumerable collection</returns>
</member>
<member name="P:Perst.BitIndex.Item(Perst.IPersistent)">
<summary> Access object bitmask
</summary>
</member>
<member name="T:Perst.CustomAllocator">
<summary>
Custom allocator interface. Custom allocator can be used for more efficiently
allocate space using application specific semantic of the object. For example,
application can place all BLOBs (images, texts, video,...) in separate file, located at separate disk
and keep file with the rest of the data (metadata describing this BLOBs) relatively small, improving
speed of search operations. Such separation of BLOBs and their descriptors can be achieved
using custom allocator in conjunction with multifile. First segment is used for allocation of normal
(non-BLOB) objects. It's size can be set practically unlimited: 0x1000 0000 0000 0000.
And second segment should be used by custom allocator to allocate BLOBs. So BLOBs offsets are started
from 0x1000000000000000 and BLOB content will be stored in separate file which in turn can be located
at separate disk.
</summary>summary>
</member>
<member name="M:Perst.CustomAllocator.Allocate(System.Int64)">
<summary>
Allocate object
</summary>
<param name="size">allocated object size</param>
<returns>position of the object in daatbase file.
It should not overlap with space covered by main database allocation bitmap</returns>
</member>
<member name="M:Perst.CustomAllocator.Reallocate(System.Int64,System.Int64,System.Int64)">
<summary>
Reallocate object previously allocated by this allocator.
This method should try to extend or shrink this object in its current location
and if it is not possible, allocate new space for the object and free its old location.
</summary>
<param name="pos">old position of the object</param>
<param name="oldSize">old size of the object</param>
<param name="newSize">new size of the object</param>
<returns>new position of the object (it can be equal to old position)</returns>
</member>
<member name="M:Perst.CustomAllocator.Free(System.Int64,System.Int64)">
<summary>
Deallocate object previously allocated by this allocator.
Space used by this object can not be reused until transaction commit (when commit method is called for this
allocator)
</summary>
<param name="pos">position of the object</param>
<param name="size">size of allocated object</param>
</member>
<member name="M:Perst.CustomAllocator.Commit">
<summary>
Make it possible to reused space of all previously deallocated shadow objects.
</summary>
</member>
<member name="T:Perst.Blob">
<summary>
Interface to store/fetch large binary objects
</summary>
</member>
<member name="M:Perst.Blob.GetStream">
<summary>
Get stream to fetch/store BLOB data
</summary>
<returns>BLOB read/write stream</returns>
</member>
<member name="T:Perst.Impl.CodeGenerator">
<summary>
Generate code for condition
</summary>
</member>
<member name="T:Perst.PersistentComparator">
<summary> Base class for persistent comparator used in SortedCollection class
</summary>
</member>
<member name="M:Perst.PersistentComparator.CompareMembers(Perst.IPersistent,Perst.IPersistent)">
<summary>
Compare two members of collection
</summary>
<param name="m1"> first members</param>
<param name="m2"> second members</param>
<returns>negative number if m1 < m2, zero if m1 == m2 and positive number if m1 > m2</returns>
</member>
<member name="M:Perst.PersistentComparator.CompareMemberWithKey(Perst.IPersistent,System.Object)">
<summary>
Compare member with specified search key
</summary>
<param name="mbr"> collection member</param>
<param name="key"> search key</param>
<returns>negative number if mbr < key, zero if mbr == key and positive number if mbr > key</returns>
</member>
<member name="T:Perst.Link">
<summary> Interface for one-to-many relation. There are two types of relations:
embedded (when references to the relarted obejcts are stored in lreation
owner obejct itself) and stanalone (when relation is separate object, which contains
the reference to the relation owner and relation members). Both kinds of relations
implements Link interface. Embedded relation is created by Storage.createLink method
and standalone relation is represented by Relation persistent class created by
Storage.createRelation method.
</summary>
</member>
<member name="T:Perst.GenericLink">
<summary>
Common interface for all links
</summary>
</member>
<member name="M:Perst.GenericLink.Size">
<summary> Get number of the linked objects
</summary>
<returns>the number of related objects
</returns>
</member>
<member name="M:Perst.GenericLink.GetRaw(System.Int32)">
<summary> Get related object by index without loading it.
Returned object can be used only to get it OID or to compare with other objects using
<code>equals</code> method
</summary>
<param name="i">index of the object in the relation
</param>
<returns>stub representing referenced object
</returns>
</member>
<member name="M:Perst.GenericLink.SetOwner(Perst.IPersistent)">
<summary>
Set owner object for this link. Owner is persistent object contaning this link.
This method is mostly used by storage itself, but can also used explicityl by programmer if
link component of one persistent object is assigned to component of another persistent object
</summary>
<param name="owner">Link owner</param>
</member>
<member name="M:Perst.GenericLink.Unpin">
<summary>
Replace all direct references to linked objects with stubs.
This method is needed tyo avoid memory exhaustion in case when
there is a large numebr of objectys in databasse, mutually
refefencing each other (each object can directly or indirectly
be accessed from other objects).
</summary>
</member>
<member name="M:Perst.GenericLink.Pin">
<summary>
Replace references to elements with direct references.
It will impove spped of manipulations with links, but it can cause
recursive loading in memory large number of objects and as a result - memory
overflow, because garabge collector will not be able to collect them
</summary>
</member>
<member name="M:Perst.Link.Get(System.Int32)">
<summary> Get related object by index
</summary>
<param name="i">index of the object in the relation
</param>
<returns>referenced object
</returns>
</member>
<member name="M:Perst.Link.Set(System.Int32,Perst.IPersistent)">
<summary> Replace i-th element of the relation
</summary>
<param name="i">index in the relartion
</param>
<param name="obj">object to be included in the relation
</param>
</member>
<member name="M:Perst.Link.Remove(System.Int32)">
<summary> Remove object with specified index from the relation
</summary>
<param name="i">index in the relartion
</param>
</member>
<member name="M:Perst.Link.Remove(Perst.IPersistent)">
<summary> Remove object from the relation
</summary>
<param name="obj">object to be removed
</param>
<returns><code>true</code> if member was successfully removed or <code>false</code> if member is not found</returns>
</member>
<member name="M:Perst.Link.Insert(System.Int32,Perst.IPersistent)">
<summary> Insert new object in the relation
</summary>
<param name="i">insert poistion, should be in [0,size()]
</param>
<param name="obj">object inserted in the relation
</param>
</member>
<member name="M:Perst.Link.Add(Perst.IPersistent)">
<summary> Add new object to the relation
</summary>
<param name="obj">object inserted in the relation
</param>
</member>
<member name="M:Perst.Link.AddAll(Perst.IPersistent[])">
<summary> Add all elements of the array to the relation
</summary>
<param name="arr">array of obects which should be added to the relation
</param>
</member>
<member name="M:Perst.Link.AddAll(Perst.IPersistent[],System.Int32,System.Int32)">
<summary> Add specified elements of the array to the relation
</summary>
<param name="arr">array of obects which should be added to the relation
</param>
<param name="from">index of the first element in the array to be added to the relation
</param>
<param name="length">number of elements in the array to be added in the relation
</param>
</member>
<member name="M:Perst.Link.AddAll(Perst.Link)">
<summary> Add all object members of the other relation to this relation
</summary>
<param name="link">another relation
</param>
</member>
<member name="M:Perst.Link.ToArray">
<summary> Get relation members as array of objects
</summary>
<returns>created array</returns>
</member>
<member name="M:Perst.Link.ToRawArray">
<summary>
Return array with relation members. Members are not loaded and
size of the array can be greater than actual number of members.
</summary>
<returns>array of object with relation members used in implementation of Link class
</returns>
</member>
<member name="M:Perst.Link.ToArray(System.Type)">
<summary> Get relation members as array with specifed element type
</summary>
<param name="elemType">element type of created array</param>
<returns>created array</returns>
</member>
<member name="M:Perst.Link.Contains(Perst.IPersistent)">
<summary> Checks if relation contains specified object
</summary>
<param name="obj">specified object
</param>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -