Persistate API documentation
ObjectClass Class
NamespacesPersistateObjectClass

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

ObjectClass is Persistate's persistent version of a .Net class.
Declaration Syntax
C#
public class ObjectClass : PersistentClass, 
	IOrderable
Members
All MembersMethodsPropertiesFieldsEvents



IconMemberDescription
Adopt(Persistent, IReference%, Int32)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
Adopted
Occurs when this object is adopted as a contained (not associated) child object of another object.
(Inherited from Persistent.)
AllDerivedClasses()()()()
Returns a collection of all ObjectClasses derived from this class at all levels.

AnnotationSeparator
This string is used to separate the text in NominativeText and DiscriminativeText properties
(Inherited from Persistent.)
Associate(Persistent, IReference%, Int32)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
Associated
Occurs when this object is taken as an associated child object of another object.
(Inherited from Persistent.)
AssociatorCount()()()()
Gets the number of associations made to this object.
(Inherited from Persistent.)
BaseClassReference(Persistent, Reference)
Here only to allow consistent use of new keyword in generated classes. Always throws an exception.
(Inherited from Persistent.)
BaseObjectClass
The ObjectClass that this one is derived from.

BuildNames(List<(Of <<'(String>)>>))
Builds a list of names for use in creating a MetaReference to this object.
(Inherited from PersistentClass.)
CallMemberGraph(MemberCall, Object)
Calls a MemberCall delegate for every node in the graph of reachableMembers for this ObjectClass.

CallTree(CallTreeData, Int32)
In derived classes, calls a particular delegate for every node in a persistent tree.
(Inherited from Persistent.)
CallTree(CallTreeData)
Starts a recursive descent of the persistent containment tree from this object, calling a delegate for every node in the tree below this object.
(Inherited from Persistent.)
Class
Gets the ObjectClass object associated with this object.
(Overrides PersistentClass.Class.)
ClassFlags
Gets the class flags for the ObjectClass class.
(Overrides PersistentClass.ClassFlags.)
ClassFlagSet
A value indicating the flags set for this ObjectClass.

ClassOfParent
The ObjectClass of the parent objects of instances of this class.

Clone()()()()
Creates a copy of this object.
(Inherited from Persistent.)
Collection()()()()
Creates a ObjectClass collection to contain provisional objects.

Collection(Persistent, FlagSet, Int32, Boolean)
Creates a ObjectClass collection to contain persistent objects.

ContainingEnvironment
Gets the Environment that this object is contained within.
(Inherited from Persistent.)
CopyFrom(Persistent)
Copies values of fields from another Persistent of the same type.
(Inherited from Persistent.)
CopyTransientFrom(Persistent)
Allows derived classes to copy transient data when CopyFrom is called.
(Inherited from Persistent.)
CreateInstance()()()()
Creates an instance of the TargetType of this ObjectClass, using the zero parameter constructor.

Database
Gets the Database object for the database in which this object is or is to be stored.
(Inherited from Persistent.)
DatabaseObjectsCreated
A list of the names of all objects created for this ObjectClass in Persistent storage.

DeAssociateFrom(Persistent, Int32)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
Deleted
This event occurs when an object is deleted.
(Inherited from Persistent.)
DeleteOrphanMembers()()()()
Deletes any existing members which were not redefined in latest update

DeleteVolatile(IReference)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
DePersist(Object)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
DePersistFrom(IPersistateList, Object)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
DeReference(Persistent)
Returns this object.
(Inherited from Persistent.)
DeReferenceSection(String)
Dereferences a section in a MetaReference by returning the Member with the given name.
(Overrides PersistentClass.DeReferenceSection(String).)
DerivedClasses()()()()
Returns a collection of all ObjectClasses immediately derived from this class.

DiscrimCount
The number of reachable discriminative members for this ObjectClass.

DiscriminativeText
Gets a string containing values of discriminative properties.
(Overrides PersistentClass.DiscriminativeText.)
Disowned
Occurs when this object is disowned from being a contained (not associated) child object of another object.
(Inherited from Persistent.)
Dissociated
Occurs when this object is removed from being an associated child object of another object.
(Inherited from Persistent.)
EmptyObject
Gets the "empty" object for this object class.

Equals(Persistent)
Determines if this Persistent is equal to another.
(Inherited from Persistent.)
Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
FieldCount
The number of physical fields in persistent storage required for this class.

FillFromDatabase(Database, IDataReader)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
FillFromMessage(Message)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
Finalize()()()()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
FindAllMembers()()()()
Finds all Members for this class, including Members of all base classes.

FindDerivedClass(String)
Finds a derived ObjectClass of this class by friendly name.

FindDiscriminativeMembers()()()()
Finds reachable discriminative Members for this class.

FindMember(Int32, String)
Finds a Member by name in either this class or any base class.

FindMember(Int32)
Finds a Member of this ObjectClass by slot number in either this class or any base class.

FirstBaseClass
Gets the ObjectClass object which is the base class of this class at the level immediately above Persistent.

FirstSlot
The first slot number to use for Members of this ObjectClass.

FriendlyName
The friendly or display name of this PersistentClass, used in the Persistate definition file and to display messages in a user interface.
(Inherited from PersistentClass.)
FullyQualifiedName
Gets the fully qualified name of this class which is of the format [package name].[class name]
(Inherited from PersistentClass.)
GetAssociators()()()()
Gets a collection of all objects which have associations to this object.
(Inherited from Persistent.)
GetChildren<(Of <<'(T>)>>)(IndexedList<(Of <<'(T>)>>), ObjectClass, FlagSet, Int32, String, array<Object>[]()[][])
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
GetChildren<(Of <<'(T>)>>)(IndexedList<(Of <<'(T>)>>), ObjectClass, String, array<Object>[]()[][])
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
GetDefaultLayout(LayoutType)
Obtains the default Layout object of a particular type for this class.

GetDefaultLayout()()()()
Finds the default layout for this object. This will always be of layout type Form.
(Inherited from Persistent.)
GetFieldValue(Int32)
Gets the value of the field backing the member with a particular slot number.
(Overrides PersistentClass.GetFieldValue(Int32).)
GetHashCode()()()()
Serves as a hash function for a particular type.
(Inherited from Object.)
GetKey(Int32)
Returns property value for given key number.
(Overrides PersistentClass.GetKey(Int32).)
GetMemberValue(Int32)
Gets the value of the member property with a particular slot number.
(Overrides PersistentClass.GetMemberValue(Int32).)
GetSelected<(Of <<'(T>)>>)(IndexedList<(Of <<'(T>)>>), ObjectClass, array<Object>[]()[][])
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
HasBaseClass
Gets a value indicating whether this ObjectClass has a base ObjectClass, other than the Persistent class.

HasDerivedClasses()()()()
Determines whether any ObjectClasses in this Domain derive from this ObjectClasses.

InitialiseMembers(Boolean, Boolean)
In derived classes, initialises members of the Persistent object.
(Inherited from Persistent.)
InstanceAdopted
Occurs whenever an object of this class is adopted by another object.

InstanceAssociated
Occurs whenever an object of this class is associated to another object.

InstanceDeleted
This event occurs when any instance of this ObjectClass is deleted.

InstanceDisowned
Occurs whenever an object of this class is orphaned or deleted from its parent object.

InstanceDissociated
Occurs whenever an object of this class is disassociated from another object.

InstanceModified
This event occurs whenever any instance of this ObjectClass is modified by setting one of the generated properties.

IsAttached
Determines whether this object is attached to the persistent tree.
(Inherited from Persistent.)
IsDistributedFrom(Persistent)
Determines whether this object is held or is to be held in a different Database than another object.
(Inherited from Persistent.)
IsEmpty
Determines whether this is the Empty object of its class, as returned by the EmptyObject property.
(Inherited from Persistent.)
IsForeign
Gets a value determining whether this object is originally from a Domain other than the local Domain.
(Inherited from Persistent.)
IsInvalid
Gets a value indicating the validity of the current state of this object.
(Inherited from Persistent.)
IsLookupClass
Gets a value indicating whether this is a simple lookup class.

IsModified
Gets a value indicating whether this object has been modified
(Inherited from Persistent.)
IsPersisted
Gets a value indicating whether the object has been persisted in a Database.
(Inherited from Persistent.)
IsProvisional
Gets a value indicating whether this object is still provisional - has not been persisted in a Database.
(Inherited from Persistent.)
IsRootClass
Gets a value indicating whether this class is the Persistent root class.

IsTypeOf(ObjectClass)
This returns true if this ObjectClass is either the same as the given one or is derived from it.

ItsObjectClass
Gets the ObjectClass object associated with this class.

LayoutForNew()()()()
Finds a layout to use for entering data into newly created objects with this class.

Layouts
The set of Layouts available for use with this ObjectClass.

LayoutsCount
Gets the number of items in the Layouts collection.

locker
This object is used to synchronise fetches of contained objects and collections in generated code.
(Inherited from Persistent.)
MemberCount()()()()
Counts the number of Members in this class, including those from all base classes.

Members
The collection of Members for this class. This can include Properties or OperationGroups.

MembersCount
Gets the number of items in the Members collection.

MemberwiseClone()()()()
Creates a shallow copy of the current Object.
(Inherited from Object.)
Modified
Occurs when an object is modified.
(Inherited from Persistent.)
Move(String, Persistent, String)
Moves this object from its current parent object to a new one.
(Inherited from Persistent.)
Move(String, Persistent, String, Int32)
Moves this object from its current parent object to a new one, optionally inserting it at a particular position in a collection.
(Inherited from Persistent.)
Name
The name of this PersistentClass used in code.
(Inherited from PersistentClass.)
NextFreeSlot
The next slot number to use if a new Member is added to this ObjectClass.

NominativeText
Gets a string containing values of nominative properties.
(Overrides PersistentClass.NominativeText.)
ObjectNumber
This returns the object number part of the object's Reference.
(Inherited from Persistent.)
OnModified()()()()
Raises events signalling that the current object has been modified.
(Inherited from Persistent.)
OperationCount()()()()
Counts the number of Operations that this class has, including operations from base classes.

Order
The order of this ObjectClass in ObjectClasses collection.

OwningDomain
Gets the Domain to which this object originally belongs.
(Inherited from Persistent.)
Parent
This returns the parent object of this one.
(Inherited from Persistent.)
ParentPackage
Gets the Parent object as a Package.
(Inherited from PersistentClass.)
ParentReference
Gets a Reference to this object's parent object.
(Inherited from Persistent.)
Plural
The plural form of the FriendlyNameFriendlyName property.
(Inherited from PersistentClass.)
PreviousVersion
Returns the previous version of this object.
(Inherited from Persistent.)
Refresh()()()()
Gets the current value of this object from persistent storage.
(Inherited from Persistent.)
RefreshAndLock()()()()
Gets the current value of this object from persistent storage and sets a database lock.
(Inherited from Persistent.)
RefreshTree()()()()
Refreshes the entire persistent containment tree under this object.
(Inherited from Persistent.)
RestoreUnmodified(Boolean)
Restores the values of an object's members to those of the previous version.
(Inherited from Persistent.)
SaveToDatabase(Database, Reference, Object)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
SaveToMessage(Message)
Saves this Persistent object to a Message.
(Inherited from Persistent.)
SaveToMessage(Message, Boolean)
Saves this Persistent object to a Message.
(Inherited from Persistent.)
ScopePackages
Gets or sets a list of packages which are in scope during the processing of this class definition.

SetFieldValue(Int32, Object)
Sets the value of the field backing the member with a particular slot number.
(Overrides PersistentClass.SetFieldValue(Int32, Object).)
SetMemberFromMessage(Int32, Int32, Message)
This method is intended for use only from generated code, and you should not use it in open code.
(Inherited from Persistent.)
SetMemberValue(Int32, Object)
Sets the value of the member property with a particularn slot number.
(Overrides PersistentClass.SetMemberValue(Int32, Object).)
SetModified()()()()
Signals to Persistate that an object has been modified.
(Inherited from Persistent.)
SetModifiedSynced()()()()
Signals to Persistate that an object has been modified. The call is protected by a lock on this object.
(Inherited from Persistent.)
StoreInDatabase(Database)
Marks this object so that it will be stored in a particular Database.
(Inherited from Persistent.)
TargetType
Returns the .Net type which is used to hold members with this object class.
(Overrides PersistentClass.TargetType.)
ThisObj
This property is used in binding combo box selected values. It returns the current object.
(Inherited from Persistent.)
TitleText
Gets a title for this object.
(Inherited from Persistent.)
ToMetaReference()()()()
Creates a MetaReference referring to this object, if possible.
(Inherited from Persistent.)
ToMetaReference(Boolean)
Creates an environment relative MetaReference referring to this object, if possible.
(Inherited from Persistent.)
ToReference()()()()
Obtains a Reference to this Object.
(Inherited from Persistent.)
ToString()()()()
Obtains a string describing the object.
(Inherited from Persistent.)
Traverse(String)
Traverses the persistent object graph from this object using a period delimited navigation path.
(Inherited from Persistent.)
Validate()()()()
Allows inheritors to create a validation method for Persistent classes.
(Inherited from Persistent.)
VersionNumber
Gets the version number of this object.
(Inherited from Persistent.)
WriteTestAssociations(IClassified, Int32, CreateTestDataParameterSet)
Creates test association(s) for an associated member of this object.
(Inherited from Persistent.)
WriteTestData(Persistent, Int32, CreateTestDataParameterSet)
Fills this object with test data.
(Inherited from Persistent.)
Remarks

You define object classes in a Persistate definition file, and then use the Persistate add-in to generate the corresponding objects. There are three things that Persistate will generate from an object class definition.

  • An ObjectClass object, containing the Members defined for the object class in the file.
  • A C# source code class corresponding to the defined class.
  • A set of database objects for the defined class, including a table, views and stored procedures.

This generated ObjectClass object has a set of Members, one for each member defined in the file. Property Members are accessible through generated properties in the generated target class. You can obtain the type of this though the TargetType property.

Subclassing is fully supported in Persistate, and you can find the base class for an object class through the BaseObjectClass property. Various other properties and methods allow you to interrogate the class hierarchy. See HasBaseClass, IsRootClass, FirstBaseClass, FindDerivedClass, IsTypeOf, HasDerivedClasses, DerivedClasses and AllDerivedClasses. An ObjectClass may also have the class of its parent object in the containment hierarchy defined, and this is available through the ClassOfParent property.

There are a number of methods allowing you to interrogate the ObjectClass's Member collection. These in general work on the Members of this ObjectClass, plus all of its base ObjectClass's Members. See FindMember(Int32, String), FindMember(Int32), CallMemberGraph, FindDiscriminativeMembers, FindAllMembers, MemberCount.

an ObjectClass can have any number of Layouts. Each one defines a way in which single or multiple instances of the ObjectClass should be portrayed in a user interface. In lookup Layouts, there is special treatment of ObjectClasses identified as "lookup" classes. See IsLookupClass for details.

Inheritance Hierarchy

Assembly: Persistate (Module: Persistate) Version: 0.6.1.20 (0.6.1.20)