C++ C#

Semata.DataStore.ObjectModel

API Reference

This provides a set of classes that are used, or derived from, during ObjectModel generation

Delegates

Name Description
PropertyChangedEventDispatcher

A delegate that allows the PropertyChanged event to be dispatched to the correct thread

PropertyClassChangedEventHandler

Represents the method that will handle an event when a property is changed on an ItemObject of a particular type

Interfaces

Name Description
INotifyPropertyChangedAndWritten

Notifies clients both when it has changed, and when it is subsequently written

INotifyPropertyWritten

Notifies clients that a changed property value has been written

Classes

Name Description
Association

A non-generic base class for associations.

Association<I>

A wrapper for Associations of a particular Association Type.

AssociationProperty<I>

Wrapper for Association that has the annotation "property"

AttributeProperty<V>

A wrapper for an Attribute.

DataStoreObject

A wrapper for the DataStore itself. Allows DataStores to be opened and closed. Transactions to be started and committed/discarded

ItemAddedEventArgs

The data when PropertyChanged is fired by an Association being added.

ItemAssociationChangedEventArgs

The data when PropertyChanged is raised by an Association changing being deleted.

ItemCreatedEventArgs

The data when PropertyChanged is fired by an Item being created.

ItemDeletedEventArgs

The data when PropertyChanged is fired by an Item being deleted.

ItemEventArgs

The data when PropertyChanged is fired by an Item being created.

ItemObject

A wrapper for an Item. Classes generated for Items inherit from this class. The classes will have a property for each of their Attributes and Associations. These properties return a class that wraps the Attribute or Association. Changes to attributes are cached until the Write method is invoked.

ItemObjectCollection<I>

A source of ItemObjects, and methods to add and remove ItemObjects from that source.

A collection is not a feature of DataStore, it is just a combination of an ItemObjectSource and 3 methods that meet the delegates signatures.

Some of the ItemObjectCollections provided by Association, actually add and remove to the underlyling association. However, the supplied delegates could posess considerably more functionality, and maybe not even affect the underlying assocation

ItemObjectEnumerator<I>

Enumerator over an ItemObjectSource. Should that ItemObjectSource change the enumerator is invalidated

ItemObjectInitializer

Holds the data necessary to initialize an ItemObject of a particular type

ItemObjectIterator<I>

Iterates over an ItemObjectSource. The source can change during iteration. Deletes are ok, Inserts will cause indeterminancy

ItemObjectSource<I>

An implementation of ItemObjectSource<I>

ItemObjects<I>

The Items class allows represents of those items of a given type, and allow them to be created and retrieved.

ItemRemovedEventArgs

The data when PropertyChanged is fired by an Association being removed.

PropertyClassChangedEventArgs

Provides data for the PropertyClassChanged event.

PropertyErrorEventArgs

The data when PropertyChanged is fired by an error

Transaction

Represents a transaction. DataStore transactions are single level. However these can be nested, but only the outer one actually starts and ends transactions. This can be useful in routines that can be stand alone, or used as part of a larger transaction

ValueProperty

Non generic base classed, useful when iterating over properties.

ValuePropertyImpl<V>

The base class for the wrapper for an Attribute, or Association that has the annotation "[property]" The value is loaded on demand and cached. The value is only set in the DataStore when the parent ItemObject is written.

Exceptions

This website stores cookies on your computer that are used to manage the order in which you see the pages. To find out more about the cookies we use, see our Privacy Policy.