Class ArrayChunkedDataLayer<TItem>
Base class for data layers that use array as a data storage and track changes per chunk.
Inherited Members
Namespace: Fwt.Core.DataLayers
Assembly: fwt.core.dll
Syntax
public abstract class ArrayChunkedDataLayer<TItem> : ChunkedDataLayer, IDisposable, ICommitChanges, IListDataLayer<TItem>
Type Parameters
| Name | Description |
|---|---|
| TItem | type of item stored in a layer |
Fields
_data
Declaration
protected TItem[] _data
Field Value
| Type | Description |
|---|---|
| TItem[] |
Properties
Data
Container for layer data.
Declaration
public TItem[] Data { get; }
Property Value
| Type | Description |
|---|---|
| TItem[] |
Length
The length of the data layer.
Declaration
public override int Length { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Methods
DisposeAllItems()
Disposes all items in the data layer by calling DisposeDataItem() on each item DisposeDataItem(TItem)
Declaration
public override void DisposeAllItems()
Overrides
DisposeDataItem(TItem)
Disposes item in the data layer if it is IDisposable.
Declaration
protected virtual void DisposeDataItem(TItem item)
Parameters
| Type | Name | Description |
|---|---|---|
| TItem | item |
DisposeExcessItems(int)
Disposes items from cells with index geater than layerSize
Declaration
public virtual void DisposeExcessItems(int layerSize)
Parameters
| Type | Name | Description |
|---|---|---|
| int | layerSize | amount of items to keep, dispose the rest |
GetData(int)
Returns data from cell at provided index
Declaration
public virtual TItem GetData(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to get data from |
Returns
| Type | Description |
|---|---|
| TItem | data found in a cell at provided index |
Init(int)
Initializes/Reinitializes the data layer
Declaration
public override void Init(int layerSize)
Parameters
| Type | Name | Description |
|---|---|---|
| int | layerSize | cells count int the data layer |
Overrides
SetData(int, TItem)
Sets data in cell at provided index.
Declaration
public virtual bool SetData(int index, TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to put data into |
| TItem | data | data to put into the cell at provided index |
Returns
| Type | Description |
|---|---|
| bool | true if data was set |
TryGetData(int, out TItem)
Tries to get data from cell at provided index.
Declaration
public virtual bool TryGetData(int index, out TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to get data from |
| TItem | data | data found in the cell at provided index |
Returns
| Type | Description |
|---|---|
| bool | true if data was found |
TrySetData(int, TItem)
Declaration
public virtual bool TrySetData(int index, TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to put data into |
| TItem | data | data to put into the cell at provided index |
Returns
| Type | Description |
|---|---|
| bool | true if data was set |