pmMDA.NET

PmMda.Net.Dog.Paging Namespace

[This is preliminary documentation and subject to change.]

Paging

Introduction

An indexed property of a data object can contain up to one million items. Furthermore it is possible there are about one million root data objects from the same type.

Paging is used to transfer a huge amount of data objects from the server to the client.

Paged indexed properties

Indexed property which can contain a huge amount of items can be marked as paged. This is done at design time by specifying the collection type of the indexed property using the tagged value .net-collection-type. There are three different paged collection which are described in the IPagedCollection interface.

Paged indexed property specify the amount of data objects that are reloaded if an unloaded item is requested. Furthermore they specify an maximum amount of items that are hold in memory. So it is possible that already loaded items are discared and have to be reloaded the next time they are requested.

It is possible to adjust the PagingAmount and the MaxLoadedItemCount at runtime, but it is impossible to make an unpaged indexed property paged and vice versa.

More information about paging can be found in the pmMDA webpage.

Design diagram

PmMda.Net.Dog.Paging diagram

Namespace hierarchy

Classes

ClassDescription
ItemsEventArgs Provides data for the ItemsReloaded and ItemsUnloaded events.
LinkedCollection Unordered unindexed collection which does not allow duplicates. This collection is not paged.
ListRangeEnumerable Enumerable for all types of lists which allows to enumerate a specified range of items.
ListRangeEnumerator Supports a simple iteration over a list.
OwnerModifiedAction Defines the action for errors while reloading data of paged collections.
OwnerModifiedEventArgs Provides data for the OwnerModified event.
PagedBag Unordered, indexed paged collection which allows duplicates.
PagedList Ordered, indexed paged collection which allows duplicates.
PagedListBase Indexed paged collection which allows duplicates.
PagedReadOnlyCollection Paged collection of data objects which is read only.
PagedSet Unordered, unindexed paged collection which doesn't allow duplicates.
PagedSet.PagedSetEnumerable Enumerable used to iterate over a subset of a set.
PagingException The exception that is thrown when an error occurred during paging.
PagingHelper Helper class for paged collections.
PersistentItemList Represent the persistent items of a paged bag or list.
RangeList List for RangeList.Range.
RangeList.Range A range is represented through it's start and end index.
SetRangeEnumerable Enumerable for all types of ISet which allows to enumerate a specified range of items.
SetRangeEnumerator Supports a simple iteration over a ISet.
SortedArray Sorted list which implements the IList interface.

Interfaces

InterfaceDescription
IPagedCollection Defines the extensions for paged collections.

Delegates

DelegateDescription
ItemsEventHandler Represents the method that will handle the ItemsReloaded and ItemsUnloaded events.
OwnerModifiedErrorDelegate Represents the method that will handle the error if the owner of a paged collection has been modified.
OwnerModifiedEventHandler Represents the method that will handle the OwnerModified event.

Enumerations

EnumerationDescription
ExceptionAction Defines when to throw paging exceptions.