Provides classes and interfaces related to Content Engine object properties. This namespace contains an IProperty base interface for holding property information; each of its subinterfaces represents a Content Engine property that holds a value of a specific data type. The IProperties interface represents a collection of property values and contains methods for reading and setting those values. The PropertyFilter and FilterElement classes represent information for controlling which properties to return during an object retrieval or an object refresh.

ToggleClasses

Type ClassDescription
Public classFilterElement
Represents information, used in conjunction with a PropertyFilter object, for controlling which properties of a Content Engine object (and with what level of detail) to return from the server during an object retrieval or an object refresh. Because the number and size of properties may be large for certain objects, using a property filter to retrieve a subset of the available properties can result in better performance by reducing the amount of data that is retrieved from the server.

In order to create a property filter, a FilterElement object must be created for each set of properties that you wish to add. First, create a PropertyFilter object, then call its AddIncludeProperty or AddIncludeType methods to specify one or more FilterElement objects. Depending on which method you choose to use, you can either create a FilterElement object directly and pass it as a method parameter or let the server create the object for you based on the values that you provide for the method parameters.

A FilterElement object can specify one or more properties, either by identifier or by type. When specifying properties by identifier, a FilterElement object is created by setting a parameter of the appropriate constructor to a space-separated list of symbolic names. When specifying properties by type, a FilterElement object is created by setting a parameter of the appropriate constructor to a space-separated list of type specifiers or a FilteredPropertyType constant.

In addition, a FilterElement object also has attributes you can set that control how property values are retrieved. These attributes override any global attributes that may be specified by the associated PropertyFilter object. If an attribute is not set in a FilterElement object, the attribute's global value in the PropertyFilter object will be used instead. If a global value is unspecified, a default value applies. The following attributes are set by the parameters of a FilterElement constructor:

  • levelDependents: A Boolean that specifies whether the recursion level to use when retrieving a dependent object is the same as that of the independent object to which it belongs (True) or one level deeper (False).
  • maxRecursion: A zero-based Integer that specifies the maximum allowable recursion depth to use when retrieving property relationships. This attribute determines the level of depth at which property values are included. If unspecified, the default is zero.
  • maxSize: A Long that specifies the maximum size, in bytes, of content data that can be returned when properties that hold content data are retrieved. If the amount of content data held by retrieved properties exceeds this size, no content data is returned. If unspecified, the default is to return all content data, no matter how large.
  • pageSize: An Integer that specifies the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. If unspecified, all of the elements in an independent object set are retrieved during a single fetch.
Public classPropertyFilter
Represents information, used in conjunction with one or more FilterElement objects, for controlling which properties of a Content Engine object (and with what level of detail) to return from the server during an object retrieval or an object refresh. Because the number and size of properties may be large for certain objects, using a property filter to retrieve a subset of the available properties can result in better performance by reducing the amount of data that is retrieved from the server.

A PropertyFilter object has the following components:

  • Zero or more IncludeProperty specifications; each of which specifies, by identifier, one or more properties to retrieve from the server. You create an IncludeProperty specification by calling one of the AddIncludeProperty methods. Each IncludeProperty specification is encapsulated in a FilterElement object, which specifies the properties to retrieve and optionally specifies the maxSize, maxRecursion, levelDependents, and pageSize attributes. You can also set the global defaults for these attributes using the appropriate PropertyFilter method. You specify each property to be retrieved by its symbolic name, or alternatively by its assigned GUID, in a space-separated list. In general, you should specify properties with their symbolic names using PropertyNames string constants and avoid the use of GUIDs.
  • Zero or more IncludeType specifications; each of which specifies, by type, properties to retrieve from the server. The property type specification is set to one of the FilteredPropertyType constants (for example, FilteredPropertyType.ANY_SINGLETON, which specifies all properties of single cardinality). You create an IncludeType specification by calling one of the AddIncludeType methods. Each IncludeType specification is encapsulated in a FilterElement object, which specifies the type of property to retrieve and optionally specifies the maxSize, maxRecursion, levelDependents, and pageSize attributes. You can also set the global defaults for these attributes using the appropriate PropertyFilter method.
  • Zero or more ExcludeProperty specifications; each of which specifies a single property, by identifier, to be excluded that would otherwise be included based on an IncludeProperty or IncludeType specification. You create an ExcludeProperty specification by calling the AddExcludeProperty method. You specify each property to be excluded by its symbolic name, or alternatively by its assigned GUID, in a space-separated list. In general, you should specify properties with their symbolic names using PropertyNames string constants and avoid the use of GUIDs.

In addition, a PropertyFilter object has attributes you can set that control how property values are retrieved. These attributes act as global defaults for the PropertyFilter object. You can override each of these attributes for an individual FilterElement object when you call an addIncludeProperty or addIncludeType method. For any attribute not specified for a FilterElement object, the global attribute value for the PropertyFilter object applies. If a global value is unspecified, a default value applies. Each of the following attributes can be set by the appropriate PropertyFilter method:

  • levelDependents: A Boolean that specifies whether the recursion level to use when retrieving a dependent object is the same as that of the independent object to which it belongs (True) or one level deeper (False). Set this value via the SetLevelDependents method.
  • maxRecursion: A zero-based Integer that specifies the maximum allowable recursion depth to use when retrieving property relationships. This attribute determines the level of depth at which property values are included. If unspecified, the default is zero. Set this value via the SetMaxRecursion method.
  • maxSize: A Long that specifies the maximum size, in bytes, of content data that can be returned when properties that hold content data are retrieved. If the amount of content data held by retrieved properties exceeds this size, no content data is returned. If unspecified, the default is to return all content data, no matter how large. Set this value via the SetMaxSize method.
  • pageSize: An Integer that specifies the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved during each fetch. If the page size is unspecified, by default the server uses the value of the QueryPageDefaultSize property of the ServerCacheConfiguration object (the default for this property is 500). If the page size exceeds the value of the QueryPageMaxSize property of the ServerCacheConfiguration object (the default for this property is 1000), the server uses the value of the QueryPageMaxSize property instead. Set this value via the SetPageSize method.

Property filter precedence rules:

  • Properties specified in an ExcludeProperty specification override those specified in an IncludeType or IncludeProperty specification. That is, if the property is specified to be excluded in an ExcludeProperty specification, but specified to be included in an IncludeProperty or IncludeType specification, the property will be excluded.
  • If a property is specified in both an IncludeProperty and an IncludeType specification, only attributes from the IncludeProperty specification apply.
  • If a property is specified more than once in an IncludeProperty specification, only the attributes from the first appearance apply.
  • If a property type is specified by more than one means (for example, a PropertyFilter object has an IncludeType specification that specifies FilteredPropertyType.SINGLETON_STRING and another that specifies FilteredPropertyType.ANY_SINGLETON), the attributes from the most specific occurrence (in the previous example, the former specification) apply.
  • If a property type is specified more than once by the same means, only the attributes from the first appearance apply.

ToggleInterfaces

Type InterfaceDescription
Public interfaceIProperties
Represents a collection of Property values that you can manipulate.
Public interfaceIProperty
Represents the base interface for a property belonging to a Content Engine object. Property objects allow you to access property values in an object's Properties collection. Each Property subinterface represents a Content Engine property that holds a value of a specific data type.
Public interfaceIPropertyBinary
Represents a Content Engine property that holds a byte (8-bit signed integer) array intended for a binary value.
Public interfaceIPropertyBinaryList
Represents a Content Engine property that holds an BinaryList object. An BinaryList object is a collection (ordered, non-unique) of byte (8-bit signed integer) array elements, each of which is intended to hold a binary value.
Public interfaceIPropertyBoolean
Represents a Content Engine property that holds a Boolean value.
Public interfaceIPropertyBooleanList
Represents a Content Engine property that holds a BooleanList object. A BooleanList object is a collection (ordered, non-unique) of Boolean values.
Public interfaceIPropertyContent
Represents a Content Engine property that holds an InputStream object intended for reading bytes of content data from a file source.
Public interfaceIPropertyDateTime
Represents a Content Engine property that holds a Date object for specifying a date and time.
Public interfaceIPropertyDateTimeList
Represents a Content Engine property that holds a DateTimeList object. A DateTimeList object is a collection (ordered, non-unique) of Date values.
Public interfaceIPropertyDependentObjectList
Represents a Content Engine property that holds an DependentObjectList object. A DependentObjectList object is a collection (ordered, non-unique) of DependentObject objects.
Public interfaceIPropertyEngineObject
Represents a Content Engine property that holds an EngineObject object.
Public interfaceIPropertyFloat64
Represents a Content Engine property that holds a Double (64-bit floating point) value.
Public interfaceIPropertyFloat64List
Represents a Content Engine property that holds a Float64List object. A Float64List object is a collection (ordered, non-unique) of Double (64-bit floating point) values.
Public interfaceIPropertyId
Represents a Content Engine property that holds an Id (GUID string) value.
Public interfaceIPropertyIdList
Represents a Content Engine property that holds an IdList object. An IdList object is a collection (ordered, non-unique) of Id objects, each of which represents a GUID String value.
Public interfaceIPropertyIndependentObjectSet
Represents a Content Engine property that holds an IndependentObjectSet object. An IndependentObjectSet object is a collection (ordered, non-unique) of IndependentObject objects.
Public interfaceIPropertyInteger32
Represents a Content Engine property that holds an Integer (32-bit signed integer) value.
Public interfaceIPropertyInteger32List
Represents a Content Engine property that holds an Integer32List object. An Integer32List object is a collection (ordered, non-unique) of Integer values.
Public interfaceIPropertyString
Represents a Content Engine property that holds a String value.
Public interfaceIPropertyStringList
Represents a Content Engine property that holds a StringList object. A StringList object is a collection (ordered, non-unique) of String values.