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> |
Produces an Enumeration of Item objects from a method that returns an ItemIterator |
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. |