[This is preliminary documentation and is subject to change.]
Instances of this class represent a named set of behaviours which can
be given to an object class.
Declaration Syntax
C# |
public class ClassCategory : Persistent, IMetaReferable
Members
All Members | Methods | Properties | Fields | Events | |
Icon | Member | Description |
---|---|---|
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.) | |
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.) | |
BuildNames(List<(Of <<'(String>)>>)) |
Builds a list of names for use in creating a MetaReference to
this object or a contained object.
| |
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 Persistent.Class.) | |
ClassFlags | Gets the class flags for the ClassCategory class. (Overrides Persistent.ClassFlags.) | |
Clone()()()() | Creates a copy of this object. (Inherited from Persistent.) | |
Collection()()()() | Creates a ClassCategory collection to contain provisional objects. | |
Collection(Persistent, FlagSet, Int32, Boolean) | Creates a ClassCategory 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.) | |
Database | Gets the Database object for the database in which
this object is or is to be stored. (Inherited from Persistent.) | |
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.) | |
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. Always throws an exception.
| |
DiscriminativeText | Gets a string containing values of discriminative properties. (Overrides Persistent.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.) | |
Equals(Persistent) | Determines if this Persistent is equal to another. (Inherited from Persistent.) | |
Equals(Object) | (Inherited from Object.) | |
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.) | |
FlagSet | Contains a flag for each function implemented by ObjectClasses in
this category. | |
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()()()() |
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 Persistent.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 Persistent.GetKey(Int32).) | |
GetMemberValue(Int32) | Gets the value of the member property with a particular slot number. (Overrides Persistent.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.) | |
InitialiseMembers(Boolean, Boolean) | In derived classes, initialises members of the Persistent object.
(Inherited from Persistent.) | |
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.) | |
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.) | |
ItsObjectClass | Gets the ObjectClass object associated with this class. | |
locker |
This object is used to synchronise fetches of contained objects and collections
in generated code.
(Inherited from Persistent.) | |
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 the ClassCategory. | |
NameKey | Key value for name index. | |
NominativeText | Gets a string containing values of nominative properties. (Overrides Persistent.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.) | |
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. | |
ParentReference | Gets a Reference to this object's parent object.
(Inherited from Persistent.) | |
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.) | |
SetFieldValue(Int32, Object) | Sets the value of the field backing the member with a particular slot number. (Overrides Persistent.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 Persistent.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.) | |
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
When a class is put into a category, then the objects of that class inherit the behaviours in the category. The behaviours are held in a FlagSet member. The FlagSet values which are active for class categories are the following.
UseCache | The object is held in a cache in memory for the current
session. If the object is already in the cache, it need not be
retrieved again from persistent storage. This also means that there is
only ever one copy of that object in memory at one time (Except for
temporary clones made on object mutation - see below) |
CloneOnMutate | When you modify the persistent object for the first time,
using a generated property, a clone is taken of the object before it
is modified. This clone is subsequently used to restore the original
value if the current transaction is rolled back. |
LogAssociations | When you make an association to the object, a reference
to the associator is held in persistent storage. You can then
subsequently obtain a collection of all objects with associations to
an object using the Persistent.GetAssociators
method. |
AllowOrder | The class will automatically be given an Order property,
and will implement the IOrderable
interface. This is required to allow ordered collections of the
class. |
SaveInConfiguration | This behaviour is set in the various types of
Configurative categories, and causes objects to be saved in a
package's configuration file. This file contains serialised values of
the package object (which is configurative) and all its configurative
descendents, as well as configurative objects in the package's own
tree in the development environment. This file is used when
installing the package application, and also when starting a new
Session for the package in the Persistate Viewer. |
Volatile | This behaviour means that objects are not held in
persistent storage, but exist only in memory. |
Persistate includes a number of predefined class categories. These will probably be all that you need. They are as follows.
Stable | Used for objects which are relatively permanent, tend not
to be associated with a point in time, and tend not to accumulate
much. Behaviours are UseCache, CloneOnMutate. |
Logged | Used for Stable objects which require access to all
associators. Behaviours are UseCache, CloneOnMutate,
LogAssociations. |
Orderable | Used for Stable objects which are to be held in ordered
collections. Behaviours are UseCache, CloneOnMutate,
AllowOrder. |
Logged Orderable | Used for Stable objects which require access to all
associators, and are to be held in ordered collections. Behaviours
are UseCache, CloneOnMutate, LogAssociations,
AllowOrder. |
Configurative | Used for objects which are similar to Stable objects, but
which hold configuration data, and tend to be shared, as default
values anyway, by all installations and sessions of an application.
Behaviours are UseCache, SaveInConfiguration,
CloneOnMutate. |
Logged configuration | Used for Configuration objects which require access to
all associators. Behaviours are UseCache, SaveInConfiguration,
CloneOnMutate, LogAssociations. |
Orderable configuration | Used for Configuration objects which are to be held in
ordered collections. Behaviours are UseCache, SaveInConfiguration,
CloneOnMutate, AllowOrder. |
Logged orderable configuration | Used for Configuration objects which require access to
all associators, and are to be held in ordered collections. Behaviours
are UseCache, SaveInConfiguration, CloneOnMutate, LogAssociations,
AllowOrder. |
Transitory | Used for objects which are usually associated with a
point in time and tend to accumulate in persistent storage. No
behaviours are associated with the Transitory category. |
Volatile | Used for object which are not held in persistent storage.
The single behaviour is Volatile. |
Inheritance Hierarchy
Object | ||
Persistent | ||
ClassCategory |