Concepts: Classes

A class is a model or template that can be used to create objects with a common definition and common properties, operations, and behavior. All Content Engine objects belong to a class. Each object of a class is identical in form and behavior but contains different property values. The Class Description property identifies the class that the object belongs to.

When an object store is created, it is prepopulated with a set of system-created classes. You can extend the system classes by defining subclasses. The most commonly extended system class is the document class. Document classes define documents; by defining subclasses, you can define your application-specific documents.

The system default classes serve different functions. For example:

Class properties

A property is a characteristic of a class that helps identify the object defined by the class. The system classes have a set of basic properties that define the class. For example, a class typically has a property indicating the creation date. When an object is created, the creation date property is populated with the current date. Properties of a class can be of different types. See Supported data types for more information.

The system automatically supplies certain property information, for example, the date when an object is added to the object store. You can edit some system properties; other properties are read-only. In addition to the system properties, you can assign custom properties to each class that reflect the content organization needs for your business. For instance, a subclass of document class named Contracts can have custom properties for all parties involved in a contract.

Inheritance

The document class object is the superclass of all other document classes that you create. A subclass always inherits all of the properties of its superclass. You can add custom properties to the default superclass, such as document class, but you cannot remove a custom property from a subclass if the property was inherited from its superclass. These inheritance rules can be important when you design your object stores and determine your superclass and subclass hierarchy. For example, at an insurance company, you might create a class named Policyholders. Subclasses of Policyholders could include a class named Claims. Additionally, changes to the superclass are inherited by its subclasses and are applied to any new versions of documents based on those subclasses.

Class guidelines

Use the following guidelines when creating or modifying a class: