Index

DKItemTypeDefICM

Purpose:

This class is used to represent item type definition in the Content Manager server. An item type is the basic entity in the Content Manager server. It has attributes, which can be regular attributes, group attributes, or reference attributes.

If an item type represents a hierarchy, then the item type is a root component for the hierarchy with some child components defined under it. An item type can have a resource object stored in a resource manager. In this case, the item type needs to have information related to resource object, such as the resource manager information and the class to repesent the object. If an item type supports text search on its attributes or resource, then it will need to specify the text indexing information for enabling text search.

An item type representing a document model type has a set of item relation information defining document part items in the document.

This class also has methods to define autolinking with another item type, specify version control rules, specify event logging on operations on this item type, and so forth.

See Also: DKAttrDefICM, DKAttrGroupDefICM, DKComponentTypeDefICM, and DKItemTypeViewDefICM.

Since: Version 8

Class summary:

 class DKEXPORT DKItemTypeDefICM : public DKComponentTypeDefICM
 {
 public:
     DKItemTypeDefICM();
     DKItemTypeDefICM(dkDatastore* ds);
     DKItemTypeDefICM(const DKItemTypeDefICM& itemType);
     virtual ~DKItemTypeDefICM();
     virtual dkEntityDef* clone();
     virtual DKBoolean isRoot();
     virtual long getIntId();
     virtual void setIntId(long id);
     short getClassification();
     void setClassification(short itemTypeClass);
     short getItemLevelACLFlag();
     void setItemLevelACLFlag(short itemLevelACLFlag);
     long getItemTypeACLCode();
     void setItemTypeACLCode(long itemTypeACLCode);
     short getDefaultRMCode();
     void setDefaultRMCode(short dfltRMCode);
     short getDefaultCollCode();
     void setDefaultCollCode(short dfltCollCode);
     short getDefaultPrefchCollCode();
     void setDefaultPrefchCollCode(short dfltPrefchCollCode);
     short getDefaultRetentionUnit();
     void setDefaultRetentionUnit(short dfltRetentionUnit);
     long getDefaultItemRetention();
     void setDefaultItemRetention(long dfltItemRetension);
     long getXDOClassID();
     void setXDOClassID(long dfltXDOClassID);
     DKString getXDOClassName();
     void setXDOClassName(const char* xdoClassName);
     DKBoolean getAutoLinkEnable();
     void setAutoLinkEnable(DKBoolean autoLinkEnable);
     short getAutoLinkSMS();
     void setAutoLinkSMS(short autoLinkSMS);
     short getVersionControl();
     void setVersionControl(short versionControl);
     short getVersionMax();
     void setVersionMax(short versionMax);
     short getItemEventFlag();
     void setItemEventFlag(short itemEventFlag);
     void setVersioningType(short versioningType);
     short getVersioningType();
     DKBoolean isTextSearchable();
     void setTextSearchable(DKBoolean isTextSearchable);
     DKTextIndexDefICM* getTextIndexDef();
     DKAttrDefICM* getTextSearchAttr();
     void setTextIndexDef(DKTextIndexDefICM* textIndexDef);
     void addAutoLinkRule(DKAutoLinkDefICM* alDef);
     void addAutoLinkRule(dkCollection* autoLinkCollection);
     void deleteAutoLinkRule(DKAutoLinkDefICM* al);
     void deleteAutoLinkRule(dkCollection* alColl);
     void updateAutoLinkRule(DKAutoLinkDefICM* al);
     void updateAutoLinkRule(dkCollection* alColl);
     void addItemTypeView(DKItemTypeViewDefICM* itViewObj);
     void removeItemTypeView(const char* itViewName);
     dkCollection* listItemTypeViews();
     DKString* listItemTypeViewNames(long& arraySize);
     DKString* listItemTypeViewNames(long option, long& arraySize);
     void addItemTypeRelation(DKItemTypeRelationDefICM* aRel);
     void removeItemTypeRelation(const char* tgtEntityName);
     void updateItemTypeRelation(DKItemTypeRelationDefICM* itRel);
     dkCollection* listItemTypeRelations();
     dkCollection* retrieveItemTypeRelations();
     DKItemTypeRelationDefICM* retrieveItemTypeRelation(long tgtItemTypeID);
     void add(DKItemTypeRelationDefICM* itRelationObj);
     void add(dkCollection* relColl);
     void del(DKItemTypeRelationDefICM* itRelationObj);
     void del(dkCollection* relColl);
     void update(DKItemTypeRelationDefICM* itRelationObj);
     void update(dkCollection* relColl);
 };
 

Members:

Constructors and destructor
DKItemTypeDefICM();

Default constructor. Constructs an instance of item type definition class.

DKItemTypeDefICM(dkDatastore *ds);

Constructs an instance of item type definition class for the given ICM datastore. Parameters: ds - ICM datastore.

DKItemTypeDefICM(const DKItemTypeDefICM& itemType);

A copy constructor for item type definition object. The new instance of the item type definition will contain all the information copied from the original one. Parameters: itemType - an item type definition object, DKItemTypeDefICM.

virtual ~DKItemTypeDefICM();

Destructor for this object.

Member functions

clone
Clones this item type definition object. Overrides: clone() in class DKComponentTypeDefICM. Returns: an item-type definition object, the clone of this object.
virtual dkEntityDef* clone();

isRoot
Checks if this object is a root component of an item type. Returns true if this object is a root component. Otherwise, returns false. Overrides: isRoot() in class DKComponentTypeDefICM. Returns: always returns true, since an item type is also a root component type.
virtual DKBoolean isRoot();

getIntId
Gets the integer identifier of this item type. Overrides: getIntId() in class DKComponentTypeDefICM. Returns: the item-type identifier.
virtual long getIntId();

setIntId
Sets the integer identifier for this item type. Overrides: setIntId in class DKComponentTypeDefICM. Parameters: id - the item type identifier ID.
virtual void setIntId(long id);

getClassification
Gets the classification for this item type. The values of item type classification are:
  • DK_ICM_ITEMTYPE_CLASS_ITEM: Indicates that this item type is a non-resource item type.
  • DK_ICM_ITEMTYPE_CLASS_RESOURCE_ITEM: Indicates that this item type is a resource item type, that is, a special kind of item type that holds a resource object stored in a resource manager.
  • DK_ICM_ITEMTYPE_CLASS_DOC_MODEL: Indicates that this item type is of type document model item type and may owns a set of parts.
  • DK_ICM_ITEMTYPE_CLASS_DOC_PART: Indicates that this item type is a document part item type, which may belong to a document model item type.

Returns: The item type classification.

short getClassification();

setClassification
Sets the classification of this item type to the given value. See the method getClassification() in this class for valid values of item type classification and their meaning. Parameters: itemTypeClass - the item type classification.
void setClassification(short itemTypeClass);

getItemLevelACLFlag
Gets the flag which indicate the ACL binding level for this item type. ACL bindings can be configured as follows:
  • 1 - The ACL binding is at the item level
  • 0 - The ACL binding is at the item type level

Returns: Item type ACL binding level. See setItemLevelACLFlag(short).

short getItemLevelACLFlag();

setItemLevelACLFlag
Sets the flag to indicate the ACL binding level for this item type. Parameters: itemLevelACLFlag - the item type ACL binding level. The Valid values are:
  • 1 - The ACL binding is at the item level
  • 0 - The ACL binding is at the item type level

Throws: DKException.

void setItemLevelACLFlag(short ItemLevelACLFlag);

getItemTypeACLCode
Gets the ACL code for binding at this item type level. See the method setItemTypeACLCode(int) for more information. Returns: the item type ACL code ItemTypeACLCode. See setItemTypeACLCode(long)
long  getItemTypeACLCode(); 

setItemTypeACLCode
Sets the ACL code for binding at this item type level. This ACL binding works as follows:
  • 0 - At the item type level, this ACL is enforced so that all items in this item type are bound to this ACL.
  • 1 - At the item level. This code is used as the default ACL , if the default binding is configured at item type level.

Returns: itemTypeACLCode - the item type ACL code. See getItemTypeACLCode().

void setItemTypeACLCode(long ItemTypeACLCode);

getDefaultRMCode
Gets the default resource manager assigned to store resource objects for this item type. This method is only applicable if this item type is a resource item or a part. Returns: the default resource manager code. Returns 0, if this item type is not a resource item type. Throws: DKException.
short  getDefaultRMCode();

setDefaultRMCode
Sets the default resource manager for this item type. This method is only applicable if this item type is a resource item or a part. Parameters: dfltRMCode - default - resource manager code. Throws: DKException
void setDefaultRMCode(short dfltRMCode);

getDefaultCollCode
Gets the default collection to store resource objects for this item type. This method is only applicable if this item type is a resource item or a document part. Returns: the default collection code. See setDefaultCollCode(short)
short  getDefaultCollCode();

setDefaultCollCode
Sets the default collection to store resource objects for this item type. Parameters: DdfltCollCode - the default collection code.
void setDefaultCollCode(short dfltCollCode);

getDefaultPrefchCollCode
Gets the default prefecth collection for storing resource objects for this item type. A prefecth collection - usually defined in a fast disk - functions like a cache. That is, it is used to holds a copy of object stored in a slow device like optical drive or tape, so that once the object is loaded to this collection, the access would be much faster. Currently, this feature is only supported in OS/390 platform. Returns: the default prefetch collection code.
short getDefaultPrefchCollCode();

setDefaultPrefchCollCode
Sets the default prefecth collection for storing resource objects for this item type. See the method getDefaultPrefetchCollCode() for more information. You need to define the prefetch collection using system administration commands. Parameters: defaultPrefecth - the default prefetch collection code. See getDefaultPrefecthCollCode()
void  setDefaultPrefchCollCode(short DfltPrefchCollCode);

getDefaultRetentionUnit
Gets the default unit of retention period for this item type. The unit is measured in:
  • 3, day
  • 2, week
  • 1, month
  • 0, year (default).

Returns: the default unit as described above.

short  getDefaultRetentionUnit();

setDefaultRetentionUnit
Sets the default unit of retention period for this item type. See the method getDefaultRetentionUnit() for the valid value for the unit. Parameters: dfltRetenstionUnit - the default unit of retention period. Throws: DKException. See getDefaultRetentionUnit()
void setDefaultRetentionUnit(short dfltRetentionUnit);

getDefaultItemRetention
Gets the default retention period for item instances under this item type. Number zero indicates that the item instances are never expired. Positive number greater than zero indicates the retention period for the item instances. The units (day, week, month, year) applicable to this number can be obtained by calling getDefaultRetentionUnit(). Returns: the default retention period for item instances under this item type. Throws: DKException. See getDefaultRetentionUnit()
long  getDefaultItemRetention();

setDefaultItemRetention
Sets the default retention period for item instances under this item type. See the method getDefaultItemRetention() for more information. Parameters: dfltItemRetention - the default retention period for item instances under this item type. Throws: DKException.
void setDefaultItemRetention(long DfltItemRetension);

getXDOClassID
Gets the XDO classification ID identifier used to represent this item type. This method is only applicable to item type resource item or document part, which is represented in the object model using a specific XDO subclass having this XDO class identifier. Returns: the XDO class identifier.
long  getXDOClassID();

setXDOClassID
Sets the XDO classification ID identifier. See the method getXDOClassID() for more information. Parameters: XDOClassID - the XDO classification identifier. See getXDOClassID().
void  setXDOClassID(long dfltXDOClassID);

getXDOClassName
Gets the name of the XDO class used to represent this item type in the object model. See method setXDOClassName() for more information. Returns: the XDO classification name, or an empty string.
DKString  getXDOClassName();

setXDOClassName
Sets the name of the XDO class used to represent this item type in the object model. This method is only applicable to items types resource item or document part. Parameters: xdoClassName - the XDO classifcation name. See getXDOClassName()
void  setXDOClassName(const char* xdoClassName);

getAutoLinkEnable
Checks if autolink is enabled in this item type. Returns true if auto-linking or auto-foldering is enabled. Otherwise, returns false. When auto-foldering is enabled, each item added to this item type will also be automatically added to the specified folder, if the constraint is met. Returns: true or false.
DKBoolean getAutoLinkEnable();

setAutoLinkEnable
Sets the autolink property of this item type. Parameters: autoLinkEnable - true or false; true will enable aoutolink. See getAutoLinkEnable()
void setAutoLinkEnable(DKBoolean autoLinkEnable);

getAutoLinkSMS
Gets the SMS configuration rule used in autolink for this item type. The valid rules to configure SMS in auto-linking or auto-foldering are as follows. Assume that an item instance item-A is automatically added to folder-B by auto-foldering.
  • 0 - Uses the defaults associated with the 'folder' item type for both the collection name and the resource manager.
  • 1 - Uses the defaults associated with the 'folder' item type for the collection name and defaults associated with the user for the resource manager.
  • 2 - Uses the defaults associated with the user for the collection name and defaults associated with the 'folder' item type for the resource manager.
  • 3 - Uses the defaults associated with the 'folder' item type for the collection name and defaults associated with the item type for the resource manager.
  • 4 - Uses the defaults associated with the item type for the collection name and defaults associated with the targer item type for the resource manager.
  • 5 - Uses the defaults associated with the user for both the collection name and the resource manager.
  • 6 - Uses the defaults associated with the item type for both the collection name and the resource manager.
  • 7 - Uses the defaults associated with the item type for the collection name and defaults associated with the user for the resource manager.
  • 8 - Uses the defaults associated with the user for the collection name and defaults associated with the item type for the resource manager.

Returns: the SMS rule for autolink. See setAutoLinkSMS(short)

short  getAutoLinkSMS();

setAutoLinkSMS
Sets the SMS configuration rule used in autolink for this item type. See the method getAutoLinkSMS() for information on the SMS configuration rules. Parameters: autoLinkSMS - the autolink SMS rule as described in the method getAutoLinkSMS() Throws: DKException. See #getAutoLinkSMS()
void setAutoLinkSMS(short autoLinkSMS);

getVersionControl
Gets the version control rules for this item type. There are three possible values:
  • DK_ICM_VERSION_CONTROL_NEVER:this item type is never versioned. Instances of this item type is not versioned.
  • DK_ICM_VERSION_CONTROL_ALWAYS: this item type is always versioned. Each updates to an item instance of this item type creates a new version of the item.
  • DK_ICM_VERSION_CONTROL_APPLICATION: the user application determines when to replace or create a new version on updates.

Returns: the version control property for this item type. See setVersionControl(short)

short getVersionControl(); 

setVersionControl
Sets the version control rule applicable to this item type. See the method getVersionControl() for valid values of version control rule. Parameters: VersionControl - the version control rule as described in the method getVersionControl(). See getVersionControl()
void setVersionControl(short VersionControl);

getVersionMax
Gets the maximum number of versions for each item instance under this item type. Returns: the maximum number of versions allowed. See setVersionMax(short)
short getVersionMax();

setVersionMax
Sets the maximum number of allowable versions for each item instances in this item type. Zero means no limits. One is not valid if version rule is DK_ICM_VERSION_CONTROL_ALWAYS. Parameters: versionMax - the maximum number of versions allowed. Throws: DKException.
void setVersionMax(short versionMax);

getItemEventFlag()
Gets the event flags setting for this item type. The flags indicate which CRUD (create, retrieve, update, delete) operations on instances of this item type are logged as events. The default is to disable logging. See setItemEventFlag(short) for information on the flag values. Returns: the item event flag setting. See setItemEventFlag(short)
short  getItemEventFlag();

setItemEventFlag
Sets the event flags to enable logging for operations on this item type. The flags indicate which CRUD (create, retrieve, update, delete) operations on instances of this item type are logged as events. The default is to disable logging. Valid flag settings are:
  • DK_EVENT_CRUD_DISABLE: disable all CRUD events.
  • DK_EVENT_CREATE : enable create events.
  • DK_EVENT_RETRIEVE: enable retrieve events.
  • DK_EVENT_UPDATE: enable update events.
  • DK_EVENT_DELETE: enable delete events.

You can combine them together, for example, sets the flags to DK_EVENT_CREATE + DK_EVENT_RETRIEVE + DK_EVENT_UPDATE + DK_EVENT_DELETE to enable all CRUD events logging. Parameters: itemEventFlag - the flag setting as described above. Throws:DKException

void  setItemEventFlag(short ItemEventFlag);

setVersioningType
Sets the item versioning type. Parameters: versioningType - versioning type of one of the following values:
  • DK_ICM_DOC_NO_VERSIONING: no versioning.
  • DK_ICM_ITEM_VERSIONING_OPTIMIZED: optimized versioning model where attributes are not versioned.
  • DK_ICM_ITEM_VERSIONING_FULL: full versioning model where attributes can be versioned.

void setVersioningType(short versioningType);

getVersioningType
Gets the item versioning type. Returns: versioning type of one of the following values:
  • DK_ICM_DOC_NO_VERSIONING: no versioning.
  • DK_ICM_ITEM_VERSIONING_OPTIMIZED: optimized versioning model where attributes are not versioned.
  • DK_ICM_ITEM_VERSIONING_FULL: full versioning model where attributes can be versioned.

short getVersioningType();

isTextSearchable
Checks if this item type is enabled for text search. Overrides: isTextSearchable() in class dkEntityDef. Returns: true, if this item type is enabled for text search.
DKBoolean isTextSearchable();

setTextSearchable
Enables this item type for text search. Overrides: setTextSearchable() in class dkEntityDef. Parameters: isTextSearchable - true or false; true makes this item type text-searchable.Enables this item type for text search.
void setTextSearchable(DKBoolean isTextSearchable);

getTextIndexDef
Gets the text search index properties of this item type. Returns null, if the text search index is not defined. Returns: a DKTextIndexDefICM object, or null.
DKTextIndexDefICM* geTextIndexDef();

getTextSearchAttr
Gets the text search attribute. Returns null, if it is not defined. Returns: an attribute definition object, DKAttrDefICM, or null.
DKAttrDefICM* getTextSearchAttr();

setTextIndexDef
Sets the text search index properties of this item type. Setting to null will remove the text index, thus disabling text search. Parameters: textIndexDef - the text search index definition. Throws: DKException.
void setTextIndexDef(DKTextIndexDefICM* textIndexDef);

addAutoLinkRule
Adds auto link rule to this item type. Parameters: alDef - the autolink rule object. See getAutoLinkEnable()
void addAutoLinkRule(DKAutoLinkDefICM* alDef);

addAutoLinkRule
Adds a the collection of the auto link rules to this item type. Parameters: autoLinkCollection - a collection of DKAutoLinkDefICM objects. Throws: DKException.

void addAutoLinkRule(DKAutoLinkDefICM* alDef);

deleteAutoLinkRule
Deletes the definition of the auto link rule for this item type from the persistent store. Parameters: al - the autolink rule definition object, DKAutoLinkDefICM, to be deleted.
void deleteAutoLinkRule(DKAutoLinkDefICM* al)

deleteAutoLinkRule
Deletes the collection of auto link rules for this item type from the persistent datastore. Parameters: alColl - a collection of autolink rule objects, DKAutoLinkDefICM, to be deleted.
void deleteAutoLinkRule(dkCollection* alColl);

updateAutoLinkRule
Updates the auto link rule for this item type in the persistent store. Parameters: al - the autolink rule definition object, DKAutoLinkRule, to be updated.
void updateAutoLinkRule(DKAutoLinkDefICM* al);

updateAutoLinkRule
Updates the collection of auto link rules in the persistent store. Parameters: alColl - a collection of autolink rule objects, DKAutoLinkDefICM, to be updated.
void updateAutoLinkRule(dkCollection* alColl);

addItemTypeView
Adds a new definition of the an item type view to this item type. This is a in-memory operation only. Parameters: itViewObj - the definition of an item type view object. See listItemTypeViews()
void addItemTypeView(DKItemTypeViewDefICM* itViewObj);

removeItemTypeView
Removes a definition of the item type view from this item type. This is in-memory operation only Parameters: itViewName - the name of the item type view need to be removed from this item type.
void removeItemTypeView(const char* itViewName);

listItemTypeViews
Lists item type views associated with this item type from the persistent store. Returns: a collection of item type view definition objects, DKItemTypeViewDefICM, belong to this item type.
dkCollection* listItemTypeViews();

listItemTypeViewNames
Lists the names of user-defined item type views names from the persistent store. Parameters: arraySize - the size of the array list being returned. Returns: An a string array of user-defined item type view names defined on belong to this item type.
DKString* listItemTypeViewNames(long& arraySize);

listItemTypeViewNames
Lists the names of item type views names from the persistent store.
  • DK_ICM_ALL_VIEW_NAMES: name of all of the item type views that belong to this item type.
  • DK_ICM_VIEW_NAMES_EXCEPT_BASE: name of all of the item type views excluding base views that belong to this item type.

@return an array of item type view names belonging to this item type. Parameters: arraySize - the size of the DKString array being returned to the caller. The valid option values are:

  • DK_ICM_ALL_VIEW_NAMES: lists names of the all item type views defined on belong to this item type.
  • DK_ICM_VIEW_NAMES_EXCEPT_BASE: lists names of the all item type views, excluding e base views, defined on this item type.

Returns: an array of item type view names belong to this item type. Throws: DKException if an error occurs.

DKString* listItemTypeViewNames(long option, long& arraySize);

addItemTypeRelation
Adds an item type relation to this entity item type. This is in-memory operation. Parameters: aRel - the item type relation definition to be added.
void addItemTypeRelation(DKItemTypeRelationDefICM* aRel);

removeItemTypeRelation
Removes an item type relation from this item type. This is in-memory operation. Parameters: tgtEntityName - the item type relation name to be removed.
void removeItemTypeRelation(const char* tgtEntityName);

updateItemTypeRelation
Updates the item type relation in this item type. This is an in-memory operation. Parameters: itRel - the item type relation object to be updated. Throws: DKException - if the item type relation object does not exist.
void updateItemTypeRelation(DKItemTypeRelationDefICM* itRel);

listItemTypeRelations
Lists all item type relations in this item type from the persistent store. Returns: a collection of item type relation definitions objects, DKItemTypeRelationDefICM. Throws: DKException if an error occurs in server.
dkCollection* listItemTypeRelations();

retrieveItemTypeRelations
Retrieves all item type relations in this item type. Returns: a collection of item type relation objects for this item type. Throws: DKException if an error occurs.
dkCollection* retrieveItemTypeRelations();

retrieveItemTypeRelation
Retrieves item type relations having the given target item type identifier from the persistent store. Parameters: tgtItemTypeID - the target item type identifier as a criteria for selecting the item type relations. Returns: a collection of item type relation objects, DKItemTypeRelationDefICM. Throws: DKException if an error occurs.
DKItemTypeRelationDefICM* retrieveItemTypeRelation(long tgtItemTypeID);

add
Adds an item type relation to the definition of this item type in the persistent store. Parameters: itemTypeitRelationObj - the item type relation object to be added. Throws: DKException if an error occurs.
void add(DKItemTypeRelationDefICM* itRelationObj);

add
Adds a collection of item type relations to the definition of this item type in the persistent store. Parameters: relColl - the collection of the item type relation objects to be added. Throws: DKException if an error occurs.
void add(dkCollection* relColl);

del
Deletes an item type relation from the definition of this item type in the persistent store. Parameters: itRelationObj - the item type relation object to be deleted. Throws: DKException if an error occurs.
void del(DKItemTypeRelationDefICM* itRelationObj);

del
Deletes a collection of item type relations from the definition of this item type in the persistent store. Parameters: relColl - the collection of item type relation objects to be deleted. Throws: DKException if an error occurs.
void del(dkCollection* relColl);

update
Updates an item type relation in the definition of this item type in persistent store. Parameters: itRelationObj - the item type relation object to be updated. Throws: DKException if an error occurs.
void update(DKItemTypeRelationDefICM* itRelationObj);

update
Updates a collection of item type relations in the definition of this item type in the persistent store. Parameters: relColl - the collection of the item type relation objects to be updated. Throws: DKException if an error occurs.
void update(dkCollection* relColl);

(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.