Persistate API documentation
Persistate Namespace
NamespacesPersistate

[This is preliminary documentation and is subject to change.]

The Persistate namespace is a catch all for the Model module of the Persistate infrastructure, plus all manner of utilities as well as general types used in user interfaces. Everything which is in the main Persistate.dll has been for the moment put into this namespace. This will change eventually.
Declaration Syntax
C#
namespace Persistate
Types
All TypesClassesStructuresInterfacesEnumerationsDelegates
IconTypeDescription
AggregateFunction
This struct represents the multi-value data class which contains values for each type of aggregate function used in ViewClass definitions.

Allowance
The Allowance class represents a grant of access to data or functionality.

AssemblyCache
This class implements a cache of Assembly objects which are loaded from deployed Persistate packages.

BackStack
This class implements the Back and Forward functions for a particular IPWindow.

BaseDataType
This is a multi value struct generated from the base data type data class in the Persistate definition file.

BorderType
This struct represents the border type data class in the Persistate system definition file.

BuildAction
Represents a build action for a project item.

BuildEventHandler
This delegate is used for the BuildDone event exposed by the IDevelopmentEnvironment interface.

CallTreeData
This is a helper class containing data used by the Persistent.CallTree method.

CaptionPosition
This is a multi value struct generated from the caption position data class in the Persistate system definition file.

Choice
This class is never used to store persistent objects. It is used solely to receive data returned by discriminative stored procedures.

ClassCategory
Instances of this class represent a named set of behaviours which can be given to an object class.

CodeGenerationParameterSet
This class supports the Persistate infrastructure and is not intended to be used from your code.

CodeSnippet
This class supports the Persistate infrastructure and is not intended to be used from your code.

Combiner
Represents the combiner data class in the Persistate system definition file. a conjunction or disjunction in a view class constraint.

CommittedEventArgs
This class provides event arguments for the Committed event.

CommittedEventHandler
Holds methods to handle the Session.Commmitted event.

Comparator
Represents the comparator data class in the Persistate system definition file.

CompoundCondition
This class supports the Persistate infrastructure and is not intended to be used from your code.

Connection
Provides the API layer for inter machine communications in Persistate.

Connection..::..ConnectionState
Enumerates the different states in the connection's lifetime

ConnectParameterSet
This class supports the Persistate infrastructure and is not intended to be used from your code.

Constraint
This class supports the Persistate infrastructure and is not intended to be used from your code.

ContainerProperties
Acts as a container for a set of properties to be applied to IPContainers.

ControlProperty
This class supports the Persistate infrastructure and is not intended to be used from your code.

CreateFromDatabase
Creates a Persistent object from data in an IDataReader.

CreateFromMessage
Creates a Persistent object from data in a Message.

CreatePackageParameterSet
This class supports the Persistate infrastructure and is not intended to be used from your code.

CreateTestDataParameterSet
Contains parameters for the CreateTestData operation along with a number of utility methods.

Credentials
Contains a set of user credentials which can be used for authentication purposes.

Database
A Database object represents a physical database accessible by ADO.NET.

DatabaseExceptionArgs
Encapsulates the information supplied to DatabaseExceptionHandler delegates.

DatabaseExceptionHandler
This delegate is used to supply a handler to deal with database exceptions. This can happen either during an operation execution commit, or at any other time that database operations happen - most obviously when retrieving object states.

DatabaseExceptionOutcome
Enumerates the options available to a DatabaseExceptionHandler to affect how the exception is handled.

DatabaseResultType
Enumerates the various types of PersistateDatabaseException that can be thrown.

DatabaseType
This is a multi value struct generated from the database type data class in the Persistate system definition file.

DataClass
A Data Class object holds the meta-data for a single type of datum.

DataValue
DataValue objects are the meta-data for a sinlge value in an multi-valued (enumerated or combinable) DataClass.

DbaSession
This class represents a Session which performs DataBase Access.

Domain
Domain is the root object of the distributed tree of Persistent objects in a Persistate system.

EntryPoint
EntryPoints are used to link the singleton objects defined in Packages with the Environments in which they are defined or have been imported.

Environment
Environments are the major subdivisions of Domains.

ErrorLocation
Determines where an error happened in Server Viewer communications. This helps determine what has already occurred, and therefore what action must be taken. This is used by PersistateNetExceptions.

LinkageEventArgs..::..EventReason
Used in LinkageEventArgs to enumerate the reasons for the linkage event. This is used only for linkage events in IPersistateLists.

Execution
Represents a single execution of an Operation within a Session.

ExecutionContext
This class provides information about the context that the current Persistate application is running in.

ExecutionResult
An instance of this class is used to determine how Persistate deals with the results of an OperationExecution.

ExecutionResultHandler
Handles the result of an OperationExecution.

FlagSet
This is a multi value struct generated from the flag set data class in the Persistate system definition file.

FlatStyle
Persistate.FlatStyle represents an equivalent persistable version of System.Windows.Forms.FlatStyle.

ForeignReference
This class represents a full reference to an object whose original is in a foreign domain.

Format
Format objects represent a particular way of portraying an item in a user interface.

Function<(Of <(<'R>)>)>
This is a general purpose delegate to hold a method with no parameters and a return value,

Function<(Of <(<'T, R>)>)>
This is a general purpose delegate to hold a method with one parameter and a return value,

Function<(Of <(<'T, U, R>)>)>
This is a general purpose delegate to hold a method with two parameters and a return value,

Function<(Of <(<'T, U, V, R>)>)>
This is a general purpose delegate to hold a method with three parameters and a return value,

Function<(Of <(<'T, U, V, W, R>)>)>
This is a general purpose delegate to hold a method with four parameters and a return value,

Function<(Of <(<'T, U, V, W, X, R>)>)>
This is a general purpose delegate to hold a method with four parameters and a return value,

IClassified
This interface denotes a classified object or collection - one which has an object class.

IDevelopmentEnvironment
Allows access to development environment functionality. Will be implemented by classes allowing access to Visual Studio and MonoDevelop.

IFillTestData
This interface specifies methods to allow a class to fill instances with test data.

IMetaReferable
Classes implementing this interface have the ability to create a MetaReference to instances of the class.

Implementation
Represents the implementation of a particular Format for a particular type of UserInterface given by its ModuleType.

IMultiValue
This interface is implemented by structs generated for multi valued DataClasses.

IndexedList<(Of <(<'T>)>)>
This is a generic collection class designed to allow easy creation of strongly typed collections containing automatically maintained indexes.

InitialisationType
Deterimines the type of Persistate initialisation to perform.

Internet
The ultimate singleton! The single instance of this class represents the internet.

IOrderable
Indicates that the class can be ordered. This means that the class can have ordered collections, and contains an Order property.

IPersistateList
Defines the extra functionality available in all Persistate collections which can hold objects from persistent storage.

IPWindow
Represents a top level application window in any type of user interface.

IReference
The IReference interface is implemented by types that provide addressing schemes for Persistent objects.

ISourcePair
This interface is implemented by every inner SourcePair class in the generated structs for multi value data classes.

IStatusTarget
This interface is implemented by all UI forms which can receive status messages via the SetStatus(String, Single) method.

IStyled
This interface is implemented by all controls that can have their style set by a LayoutStyle.

ItemQuantity
This is a multi value struct generated from the member quantityDataClass in the Persistate system definition file.

Layout
Represents an on-screen Layout for a particular class.

LayoutStyle
Represents style information used by Persistate user interfaces.

LayoutType
This is a multi value struct generated from the layout type data class in the Persistate system definition file.

LinkageEventArgs
Provides data for the Adopted, Associated, Disowned and Dissociated events of the Persistent and ObjectClass classes, as well as the Changed event of all IPersistateList classes

LinkageEventHandler
This delegate type is used by all events which happen when a link in the persistent containment tree is either made or broken.

Logger
Implements simple logging using a CircularBuffer<(Of <(<'T>)>)>.

Member
This class represents a member of an ObjectClass.

MemberCall
This delegate is used by the ObjectClass.CallMemberGraph method and is called for each Member in the containment meta-hierarchy.

Message
This class provides facilities for reading and writing the messages which are exchanged between a Persistate Server and a Persistate Viewer or web session.

MessageType
This enumerates the values used as initial header items in Messages.

MetaReference
This struct provides an IReference to a particular meta-data object.

ModalResult
A ModalResult contains the result of showing an object in a modal dialogue box.

Module
Represents one of the model, user interface or controller modules which make up a Persistate Package.

ModuleType
Represents the type of a Module.

MultiValueConverter
This is a TypeConverter which can be used for all the multi-value structs created by Persistate for multi value data classes.

NameFinder
This delegate is used to supply a method to find an object with a particular friendly name to the Utl.FindByName method.

NodeType
This class supports Persistate infrastructure and is not inteded for use in open code.

ObjectClass
ObjectClass is Persistate's persistent version of a .Net class.

Operation
An Operation is the unit of application execution in a Persistate Controller module

OperationGroup
The OperationGroup class represents a collection of Operation objects.

OperationPresence
Represents the various states that a user interface item representing an Operation can take.

OperationVisibility
This struct holds a value which determines whether Operations are made visible within various UI elements.

Package
The Package is the means by which PersistentClasses are bundled into applications.

PackageGrant
A PackageGrant represents the right to run a particular Package in a particular Environment for a Principal.

Pane
Represents a single pane within a Workspace.

PaneType
Determines the type of a Pane.

Permit
The Permit class is the unit of authorisation in the Persistate security system.

PermitGrant
Represents the granting of a Permit to a Principal.

PersistateDatabaseException
This exception is thrown due to problems arising from database operations.

PersistateDeReferenceException
This exception is thrown when any attempt to access an object through any IReference fails

PersistateGenerationException
This exception is thrown when an error is detected during the processing of a Persistate definition file.

PersistateNetException
Tnis exception is used to notify problems occuring in the process of communication between Servers, Viewers and Web clients.

PersistateUserException
This exception class is used whenever the problem is not because of a bug, but because of a user error, or predictable and recoverable situation.

Persistent
This is the base class for all persistent objects.

PersistentClass
PersistentClass is the abstract base class of ObjectClass, DataClass and ViewClass.

PersistentEventArgs
Provides data for the Modified and Deleted events of the Persistent and ObjectClass classes, and is used by the PersistentEventHandler delegate.

PersistentEventHandler
This delegate type is used by all events which involve a single Persistent object.

Placement
Represents a placed element on an on-screen Layout.

Principal
Principals represent the entities which control the operation of Persistate applications.

ProjectBuildEventArgs
This class holds details of the ProjectBuildDone event raised by the IDevelopmentEnvironment interface.

Property
Property is a type of Member which represents a .Net property.

Receive
Receive delegates are called with a request Message received on the connection, and return a response Message.

RecursionType
Enumerates the types of sub-tree that an Allowance in a Permit can cover.

Reference
A Reference uniquely identifies a particular object within a Domain.

ResolveReferenceEventArgs
This class provides event arguments for the ResolveReference event.

ResolveReferenceEventHandler
Holds handler methods to deal with raised Session.ResolveReference events

ResultAction
Lists the actions which can be taken when an OperationExecution completes.

RhsType
Represents the type of item on the right hand side of a SimpleCondition in a ViewClassConstraint.

SerialiserFilter
Contains a method used for node filtering when serialising data using the TreeSerialiser class.

Server
This class represents a machine running the Persistate Server service.

ServicedPackage
A ServicedPackage object is used as input to a Persistate Server to tell it which packages it should service in which environments.

Session
Represents a session where a Principal runs a Package for a length of time, interfacing via a UserInterface.

SessionSpecific<(Of <(<'T>)>)>
Provides storage for an object which is specific to a particular Session.

SimpleCondition
Represents a simple condition in a ViewClass.

RecursionType..::..SourcePair
This class represents a text and ordinal pair for RecursionType values.

NodeType..::..SourcePair
This class represents a text and ordinal pair for NodeType values.

CaptionPosition..::..SourcePair
This class represents a text and ordinal pair for CaptionPosition values.

BaseDataType..::..SourcePair
This class represents a text and ordinal pair for BaseDataType values.

WildCard..::..SourcePair
This class represents a text and ordinal pair for WildCard values.

ModuleType..::..SourcePair
This class represents a text and ordinal pair for ModuleType values.

TitleVisibility..::..SourcePair
This class represents a text and ordinal pair for TitleVisibility values.

Comparator..::..SourcePair
This class represents a text and ordinal pair for Comparator values.

BorderType..::..SourcePair
This class represents a text and ordinal pair for BorderType values.

RhsType..::..SourcePair
This class represents a text and ordinal pair for RhsType values.

ItemQuantity..::..SourcePair
This class represents a text and ordinal pair for ItemQuantity values.

LayoutType..::..SourcePair
This class represents a text and ordinal pair for LayoutType values.

PaneType..::..SourcePair
This class represents a text and ordinal pair for PaneType values.

FlatStyle..::..SourcePair
This class represents a text and ordinal pair for FlatStyle values.

FlagSet..::..SourcePair
This class represents a text and ordinal pair for FlagSet values.

AggregateFunction..::..SourcePair
This class represents a text and ordinal pair for AggregateFunction values.

ModalResult..::..SourcePair
This class represents a text and ordinal pair for ModalResult values.

DatabaseType..::..SourcePair
This class represents a text and ordinal pair for DatabaseType values.

Combiner..::..SourcePair
This class represents a text and ordinal pair for Combiner values.

OperationVisibility..::..SourcePair
This class represents a text and ordinal pair for OperationVisibility values.

StandardOperations
This static class contains the core functionality for all standard operations defined for the Persistent object.

TargetLanguage
A Target Language object represents a .NET language for which Persistate can generate classes.

TextStyle
Holds font and colour information for a single style of text.

TitleVisibility
This struct represents the multi-value data class which contains values for each type of title visibility used in LayoutStyle and Persistate.UI.Desktop.PContainer.

TraceLevel
Defines TraceLevel outside of System.Diagnostics for platform independence.

TreeCallAssociated
This delegate holds methods called for every association in a tree during a descent of the tree performed by Persistent.CallTree.

TreeCallContained
This delegate holds methods which are called for every contained object in a tree, during a descent of the tree performed by Persistent.CallTree.

TreeDeserialiser
This class contains methods to deserialise a persistent tree of objects from a Message, file or stream.

TreeSerialiser
This class contains methods to serialise a persistent tree of objects to a Message, file or stream.

UserInterface
This is the abstract base class representing the user interface attached to a Session.

Utl
This class contains a mixed bunch of static utility methods with nowhere else to go.

ViewClass
Represents a query containing members from one or more ObjectClasses.

ViewMember
Represents a member of a ViewClass.

ViewNode
Represents a single point in a traverse of the persistent tree.

OperationPresence..::..Visibility
Determines whether the Operation should be visible, and is so whether it should be enabled.

WildCard
This is a multi value struct generated from the wild card DataClass providing an enumeration of the types of wild card operations available in database queries.

Work
This delegate can be used in all cases where a parameterless delegate returning void is required.

Work<(Of <(<'T>)>)>
This delegate can be used in all cases where a single parameter delegate returning void is required.

Work<(Of <(<'T, U>)>)>
This delegate can be used in all cases where a two parameter delegate returning void is required.

Work<(Of <(<'T, U, V>)>)>
This delegate can be used in all cases where a three parameter delegate returning void is required.

Work<(Of <(<'T, U, V, W>)>)>
This delegate can be used in all cases where a four parameter delegate returning void is required.

Work<(Of <(<'T, U, V, W, X>)>)>
This delegate can be used in all cases where a four parameter delegate returning void is required.

Workspace
This class provides a persistent representation of an on-screen workspace, a which is hierarchical set of arranged Panes.