Previous Page | Next Page

SAS Namespace Submodels

Property Submodel

The Property submodel is used to:

Metadata Types

The Property submodel contains the following types. Click on each type to display the type attributes and associations.












The AbstractProperty, LocalizedType, and PrototypeProperty metadata types are supertypes that are not expected to be instantiated; they exist so that their subtypes will inherit appropriate attributes and associations. You will not create objects of these types, so for the rest of this discussion, these will be ignored.

Property objects are used to contain name/value pairs. Any object can have Property objects. They can be used to provide additional information for a particular metadata object or to provide parameter information for a Transformation (the metadata type used to describe a process or program).

In SAS 9.1, each Property object was required to have an OwningType association to a PropertyType metadata object to describe the SQL type of the data. Beginning in SAS 9.2, the SQL type of the data is defined in a SQLType attribute of the Property object, unless the Property object describes an array. A PropertyType metadata object is still necessary to store the SQL type of an array. If the PropertyType is an array, there will be an association to another PropertyType object using the ElementType association. This object will contain the SQL type of the array elements. The PropertyType may also have a StoredConfiguration metadata object defined. The StoredConfiguration object will contain additional information, such as a list of enumerated values.

The LocalizedResource metadata type contains information about text meant to be displayed to a user. It contains the text for a particular locale, as well as a locale identifier. A Property object can have a set of LocalizedResource metadata objects, one for each textual object that can be displayed and its locale.

The Prototype metadata type is used to provide a template for creating a set of metadata objects. For example, some of the metadata types used to describe a workspace server are a ServerComponent, a set of Connection objects (COMConnection and TCPIPConnection), and possibly a Transformation object that is the initialization process for the server. A Prototype object is used to describe the metadata objects used in a particular scenario, like defining a workspace server. A Prototype has associated AttributeProperty and AssociationProperty objects that describe the attributes and associations that are needed in the scenario. Property objects can also be associated with a Prototype.

There are several ways of grouping Property objects. The Properties association is available for any object, and the objects in this association are considered to be the "default" properties. This association should contain a complete set of properties for "default" usage. If there is no default, then this association should not be used. Another grouping is the PropertySet, which is a complete set of Property objects used in a particular context. The third is PropertyGroup, which allows Property objects to be grouped in a hierarchy of PropertyGroup objects used to drive a user interface.


Property objects are used to store additional information for any object and to create property sheets for prototypes. If a Property describes a default setting, then it should be made available through the Properties association. When a Property object contains alternative settings of a Property, then a copy of the Property should be made and associated to a PropertySet via the PropertysSets association. If the Property is going to be displayed in a user interface and have its value selected through the user interface, then it should be part of a PropertyGroup. PropertyGroups can be organized in a hierarchy. For example, there can be a PropertyGroup for properties associated with Operating System and a set of sub PropertyGroups for Windows 2000, z/OS and AIX. The PropertyGroup for Windows 2000 would have the Property objects used by Windows 2000, and so on, for the other operating systems. Hierarchies are not allowed in the Properties and PropertySets associations.

It is frequently the case that a Property may be duplicated, with one copy in the Properties list, another in the PropertySet list, and yet a third copy in the PropertyGroup list. There is no merging of Property objects between the various grouping mechanisms.

A Prototype should not use either the Properties or PropertySets associations, because it is used only as a template for creating objects of other metadata types. All Property objects used with a Prototype should be organized in PropertyGroups.

Previous Page | Next Page | Top of Page