Index

DKDatastoreDefICM

Purpose:

DKDatastoreDefICM implements the interface dkDatastoreDef. It provides the actual functions to access and manipulate datastore's metadata and information pertinent to Content Manager Version 8 and later. It contains methods for the the creation, deletion, update and listing of item types, item type views, atributes and attribute groups plus methods for managing link type, semantic type, XDO classification, component type index and so forth.

Since: Version 8

Class summary:

class DKEXPORT DKDatastoreDefICM : public dkDatastoreDef
 {
  public:
     DKDatastoreDefICM(dkDatastore* ds);
     virtual ~DKDatastoreDefICM();
     virtual dkEntityDef* createEntity ();
     virtual dkEntityDef* createItemType();
     virtual void add(dkEntityDef* entityObj);
     virtual void del(dkEntityDef* entityObj);
     virtual void update(dkEntityDef* entityObj);
     virtual dkEntityDef* retrieveEntity(const char* entityName);
     virtual dkCollection* listEntities();
     dkCollection* listEntities(long options);
     virtual dkCollection* listEntities(const DKNVPair* options, long arraySize);
     virtual DKString* listEntityNames (long& arraySize);
     DKString* listEntityNames (long options, long& arraySize);
     DKString* listDefinedPartTypeNames(long& arraySize);
     virtual dkCollection* listEntityAttrs(const char* entityName);
     virtual DKString* listEntityAttrNames (const char* entityName, long& arraySize);
     virtual dkDatastoreAdmin* datastoreAdmin();
     dkCollection* listComponentTypes();
     dkCollection* listComponentTypes(long options);
     DKString* listComponentTypeNames(long& arraySize);
      DKString* listComponentTypeNames(long options, long& arraySize);
     DKComponentTypeViewDefICM* getActiveComponentTypeView(const char*  compTypeName);
     DKItemTypeViewDefICM* getActiveItemTypeView(const char*  itemTypeName);
     void makeViewActive(DKItemTypeViewDefICM* itemTypeView);
     void makeViewsActive(dkCollection* views);
     dkCollection* listActiveComponentTypeViews();
     dkCollection* listActiveItemTypeViews();
     dkCollection* listActiveItemTypeViews(long options);
     dkCollection* listActiveComponentTypeViews(long options);
     dkAttrDef* createAttr();
     void add(dkAttrDef* attrObj);
     void del(dkAttrDef* attrObj);
     void update(dkAttrDef* attrObj);
     virtual dkCollection* listAttrs();
     dkCollection* listAttrs(long option);
     dkAttrDef* retrieveAttr(const char* attrName);
     virtual DKString* listAttrNames(long& arraySize);
     DKString* listAttrNames(long option, long& arraySize);
     dkEntityDef* retrieveComponentType(const char* compTypeName);
     dkAttrGroupDef* createAttrGroup();
     dkAttrGroupDef* createAttrGroup(long option);
     long add(dkAttrGroupDef* attrGroupObj);
     void del(dkAttrGroupDef* attrGroupObj);
     void update(dkAttrGroupDef* attrGroupObj);
     dkCollection* listAttrGroup();
     dkCollection* listAttrGroup(long option);
     DKString* listAttrGroupNames(long& arraySize);
     DKString* listAttrGroupNames(long option, long& arraySize);
     dkAttrGroupDef* retrieveAttrGroup(const char* attrGroupName);
     dkCollection* listEntityAttrGroup(const char* entityName);
     DKString* listEntityAttrGroupNames(const char* entityName, long& arraySize);
     long add(DKSemanticTypeDefICM* semanticTypeObj);
     void del(DKSemanticTypeDefICM* semanticTypeObj);
     void update(DKSemanticTypeDefICM* semanticTypeObj);
     dkCollection* listSemanticTypes();
     DKString* listSemanticTypeNames(long& arraySize);
     DKSemanticTypeDefICM* retrieveSemanticType(const char* semanticTypeName);
     long add(DKLinkTypeDefICM* linkTypeObj);
     void del(DKLinkTypeDefICM* linkTypeObj);
     void update(DKLinkTypeDefICM* linkTypeObj);
     dkCollection* listLinkTypes();
     DKString* listLinkTypeNames(long& arraySize);
     DKLinkTypeDefICM* retrieveLinkType(const char* linkTypeName);
     void add(DKComponentTypeIndexDefICM* ComponentTypeIndexObj);
     void del(DKComponentTypeIndexDefICM* componentTypeIndexObj);
     dkCollection* listComponentTypeIndexes(const char* compTypeName);
     DKString* listComponentTypeIndexNames(const char* compTypeName, long& arraySize);
     DKComponentTypeIndexDefICM* retrieveComponentTypeIndex(const char* ComponentTypeIndexName, const char* compTypeName);
     dkCollection* listItemTypeRelations();
     dkCollection* retrieveItemTypeRelations(long srcItemTypeID);
     DKItemTypeRelationDefICM* retrieveItemTypeRelation(long srcItemTypeID, 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);
     long add(DKXDOClassificationDefICM* xdoClassificationObj);
     void del(DKXDOClassificationDefICM* xdoClassificationObj);
     void update(DKXDOClassificationDefICM* xdoClassificationObj);
     dkCollection* listXdoClassifications();
     DKString* listXdoClassificationNames(long& arraySize);
     DKXDOClassificationDefICM* retrieveXdoClassification(const char* xdoClassificationName);
     dkEntityDef* retrieveItemTypeView(const char* itemTypeName);
     dkCollection* listItemTypeViews();
     DKString* listItemTypeViewNames(long itemTypeID, long& arraySize);
     dkEntityDef* retrieveComponentTypeView(const char* cpViewName);
     dkEntityDef* retrieveComponentTypeView(long cpViewId);
     dkCollection* listComponentTypeViews();
     DKString* listComponentTypeViewNames(long& arraySize);
     void updateTextIndexes(long lCompTypeId);
     void reorgTextIndexes(long lCompTypeId);
     void rebuildComponentType(const char* compTypeName);
 };

Members:

Constructors and destructor
DKDatastoreDefICM(dkDatastore *ds);

Default constructor. Constructs an instance of attribute group definition class. Parameters: ds - ICM datastore.

virtual ~DKDatastoreDefICM();

Destructor for this object.

Member functions

createEntity
Creates a new instance of an entity object and returns it to the caller. This is a generic interface inherited from dkDatastoreDef. For Content Manager datastore. The entity object is DKItemTypeDefICM. This method is returning the same results as createItemType() below. Returns: a new instance of DKItemTypeDefICM object, a subclass of dkEntityDef. Throws: DKException - if error occurs
virtual dkEntityDef* createEntity();

createItemType
Creates a new instance of DKItemTypeDefICM and returns the object to its caller. This is a specific interface for Content Manager server where entities are equivalent to item types. Returns: a new instance of DKItemTypeDefICM object, a subclass of dkEntityDef Throws: DKException - if error occurs
dkEntityDef* createItemType();

add
Adds the given entity definition to the persistent store. In Content Manager, an entity is an item type or item type view. Parameters: entityObj- item type object to be created in the persistent store. It can be DKItemTypeDefICM or DKItemTypeViewDefICM object. Throws: DKException if the item type object is invalid or an error occurs in the server
virtual void add(dkEntityDef* entityObj);

del
Deletes the definition of an item type from the persistent store. Parameters: entityObj- a dkEntitydef object to delete. In datastore ICM, the entity def object can be either DKItemTypeDefICM or DKItemTypeViewDefICM object. Throws: DKException if the entityObj is invalid or the entity does not exist in the server
virtual void del(dkEntityDef* entityObj);

update
Updates the item type defintion in the persistent store. The type of updates you can do is limited. You can not remove attributes from the attribute collection associated with this entity. Parameters: entityObj- the dkEntitydef object to be updated. In datastore ICM, the entityDef object can be either DKItemTypeDefICM or DKItemTypeViewDefICM object. Throws: DKException if the entityObj is invalid or the entity does not exist in the server
virtual void update(dkEntityDef* entityObj);

retrieveEntity
Retrieves the definition for the given item type fromthe persistent store. Parameters: entityName- the name of the item type whose definition is to be retrieved. Returns: a dkEntityDef object describing the entity. In datastore ICM, the entity def object can be either DKItemTypeDefICM or DKItemTypeViewDefICM object. Throws: DKException if the item type name does not exist. Memory Management: The entity object object returned is to be deleted by the caller.
virtual dkEntityDef* retrieveEntity(const char* entityName);

listEntities
Gets a list of user defined item type definitions from a persistent store. Returns: a collection of entity definition objects, that is DKItemTypeDefICM and/or DKItemTypeViewDefICM, subclasses of dkEntityDef Throws: DKException - if error occurs. Memory Management The entity objects in the collection and the collection itself are to be deleted by the caller
virtual dkCollection* listEntities();

listEntities
Gets a list of item type definitions from the persistent store. The option value determines the scope of the returned list. Valid option values are:
  • DK_ICM_ALL_ITEM_TYPES: Lists all item types from the persistent store. Return collection includes both DKItemTypeDefICM and DKItemTypeViewDefICM objects.
  • DK_ICM_SYSTEM_ITEM_TYPES: Lists system defined item types only.
  • DK_ICM_PARTS_ITEM_TYPES:Lists part item types only, that is, lists item types with classification equal to DK_ICM_ITEMTYPE_CLASS_DOC_PART.
  • DK_ICM_USER_ITEM_TYPES:Lists user defined item types only.

Overrides: listEntities() in class dkDatastoreDef Parameters: options - to filter the results. See above list for valid option values Returns: a collection of item type definition objects, that is DKItemTypeDefICM and/or DKItemTypeViewDefICM, subclasses of dkEntityDef Throws: DKException - if error occurs Memory Management: The entity objects in the collection and the collection itself are to be deleted by the caller

dkCollection* listEntities(long options);

listEntities
Gets a list of item type definitions from the persistent store. The list is filtered based on input parameter. Parameters: options - DKNVPair[] options for listEntities Supported values for NVPair options :
  • NAME: DK_ICM_ENTITY_TYPE, VALUE: integer_item_type_filter Valid values for integer_item_type_filter:
    • DK_ICM_BASE Lists base item type definitions
    • DK_ICM_VIEW Lists item type view definitions
    • DK_ICM_BASE_AND_VIEW List base item type definitions and view definitions
  • NAME: DK_ICM_PRIV_TYPE, VALUE: String[]. This option allows the user to retrieve the entity definition based on the passed privileges. Some of the system defined privileges value of DK_ICM_PRIV_TYPE:
    • DK_ICM_PRIV_ITEM_SUPER_ACCESS
    • DK_ICM_PRIV_ITEM_SQL_SELECT
    • DK_ICM_PRIV_ITEM_TYPE_QUERY
    • DK_ICM_PRIV_ITEM_QUERY
    • DK_ICM_PRIV_ITEM_ADD
    • DK_ICM_PRIV_ITEM_SET_USER_ATTR
    • DK_ICM_PRIV_ITEM_SET_SYS_ATTR
    • DK_ICM_PRIV_ITEM_DELETE
    • DK_ICM_PRIV_ITEM_MOVE
    • DK_ICM_PRIV_ITEM_LINK_TO
    • DK_ICM_PRIV_ITEM_LINKED
    • DK_ICM_PRIV_ITEM_OWN
    • DK_ICM_PRIV_ITEM_OWNED

arraySize - the size of the DKNVPair array being passed as the parameter. Returns: a collection of entity definition objects, that is DKItemTypeDefICM and/or DKItemTypeViewDefICM depending on the option. Throws: DKException - if error occurs. Memory Management: The entity objects in the collection and the collection itself are to be deleted by the caller.

virtual dkCollection* listEntities( const DKNVPair* options, long arraySize);

listEntityNames
Gets an array of item type names from the persistent store. Valid option values are:
  • DK_ICM_ALL_ITEM_TYPES List all item type and/or item type view names from the persistent store.
  • DK_ICM_SYSTEM_ITEM_TYPES Lists system defined item type names only.
  • DK_ICM_PARTS_ITEM_TYPES: Lists part item type names only, that is, to list item types with classification equal to DK_ICM_ITEMTYPE_CLASS_DOC_PART.
  • DK_ICM_USER_ITEM_TYPES Lists user defined item type names.

Overrides: listEnittyNames() in class dkDatastoreDef Parameters:

  • options - based on which item types are filtered. To filter the results. See above list for valid option values.
  • arraySize - the size of the DKString array being returned.

Returns: an array of item type names Throws: DKException - if error occurs Memory Management: The DKString array returned is to be deleted by the caller.

DKString* listEntityNames (long options, long& arraySize);

listEntityNames
Gets a list of user defined item type names from a persistent store. Parameters: arraySize - The size of the DKString array being returned. Returns: an array of item type names. Throws: DKException - if error occurs. Memory Management: The DKString array returned is to be deleted by the caller.
virtual DKString* listEntityNames(long& arraySize);

listDefinedPartTypeNames
Gets a list of part item type names. Parameters: arraySize - the size of the DKString array being returned. Returns: an array of part type item type names. Throws: DKException - if error occurs. Memory Management: The DKString array returned is to be deleted by the caller
DKString* listDefinedPartTypeNames(long& arraySize);

listEntityAttrs
Gets a list of the attribute definitions for a given item type. Parameters: entityName - the name of item type which has the attributes. Returns: a collection of attirbute definition objects, DKAttrDefICM. Throws: DKException if the item type name does not exist in the persistent store. Memory Management: The attribute objects in the collection and the collection itself are to be deleted by the caller.
virtual dkCollection* listEntityAttrs(const char* entityName);

listEntityAttrNames
Gets a list of the attribute names for a given item type. Parameters:
  • entityName - the name of the item type which has the attributes.
  • arraySize - the size of the DKString array being returned.

Returns: an array of attribute names. Throws: DKException if the item type name does not exist. Memory Management: The DKString array is to be deleted by the caller.

virtual DKString* listEntityAttrNames (const char* entityName, long& arraySize);

datastoreAdmin
Gets a datastore administration object for this datastore. Returns: a dkDatastoreAdmin object, in this case, it is DKDatastoreAdminICM object Memory Management: The caller must not deleted the the DKDatastoreAdminICM object returned.
virtual dkDatastoreAdmin* datastoreAdmin();

listComponentTypes
Gets a list of user-defined component type definitions from a persistent store. Returns: a collection of user-defined component type definition objects, DKComponentTypeDefICM. Throws: DKException - if error occurs Memory Management: The component type objects in the collection and the collection itself are to be deleted by the caller.
dkCollection*         listComponentTypes();

listComponentTypes
Gets a list of component type definitions from a persistent store. Parameters: options - the valid option values are:
  • DK_ICM_ALL_COMPONENT_TYPES: Lists all component types.
  • DK_ICM_SYSTEM_COMPONENT_TYPES: Lists system defined component types.
  • DK_ICM_USER_COMPONENT_TYPES: Lists user defined component types.

Returns: a collection of component type definition objects, DKComponentTypeDefICM Throws: DKException - if error occurs. Memory Management: The component type objects in the collection and the collection itself are to be deleted by the caller.

dkCollection* listComponentTypes(long options);

listComponentTypeNames
Gets a list of user-defined component type names from the persistent store. Returns: an array of user-defined component type names. Parameters: arraySize - the size of the DKString array being returned. Throws: DKException - if error occurs. Memory Management: The DKString array returned is to be deleted by the caller.
DKString* listComponentTypeNames(long& arraySize);

listComponentTypeNames
Gets a list of component type names from the persistent store. Parameters:
  • options - the valid option values are:
    • DK_ICM_ALL_COMPONENT_TYPES: lists all component types.
    • DK_ICM_SYSTEM_COMPONENT_TYPES: lists system defined component types.
    • DK_ICM_USER_COMPONENT_TYPES: lists user defined component types.
  • arraySize - the size of the DKString array being returned.

Returns: an array of component type names. Throws: DKException - if error occurs. Memory Management: The DKString array returned is to be deleted by the caller.

DKString* listComponentTypeNames(long options, long& arraySize);

getActiveComponentTypeView
Gets the active view for the given component type name. Parameters: compTypeName - the name of the component type. Returns: a DKComponentTypeViewDefICM object, the active view for the specified component type. Returns null if there is no active view for this component type name. Memory Management: The active component type view returned is to be deleted by the caller.
DKComponentTypeViewDefICM* getActiveComponentTypeView(const char* compTypeName);

getActiveItemTypeView
Gets the active view for the given item type name. Parameters: itemTypeName - the name of the item type Returns: a DKItemTypeViewDefICM object, the active view for the specified item type. Returns null if there is no active view for this item type name. Memory Management: The active item type view returned is to be deleted by the caller.
DKItemTypeViewDefICM* getActiveItemTypeView(const char* itemTypeName)

makeViewActive
Sets the given item type view as the active view. Parameters: itemTypeView - the view to make active. Memory Management: The view that is made active is to be deleted by the caller.
void makeViewActive(DKItemTypeViewDefICM* itemTypeView);

makeViewsActive
Sets a collection of item type views as the active views.

Parameters: views- the collection of item type views to make active

void makeViewsActive(dkCollection* views);

listActiveItemTypeViews
Gets a list of active views for the user-defined item types that the user has access to. Returns: a collection of item type view definitions, DKItemTypeVewiDefICM objects. Memory Management: The collection and the item type views returned are to be deleted by the caller.
dkCollection* listActiveItemTypeViews();

listActiveItemTypeViews
Gets a list of active views from a persistent store. The valid option values are DK_ICM_ALL_ITEM_TYPES:all item type views DK_ICM_SYSTEM_ITEM_TYPES:system item type views DK_ICM_PARTS_ITEM_TYPES:part item type views DK_ICM_USER_ITEM_TYPES:user-defined item type views Parameters: options - options based on which item types are filtered. Returns: a collection of item type view definitions, DKItemTypeVewiDefICM objects. Throws: DKException - if error occurs. Memory Management: The item type views and the collection are to be deleted by the caller.
dkCollection* listActiveItemTypeViews(long options);

listActiveComponentTypeViews
Gets a list of active views for all the component types the user has access to. Returns: a collection of active componnet type view definitions, DKComponentTypeViewDefICM objects. Memory Management: The objects inside the collection and the collection itself are to be deleted by the caller.
void listActiveComponentTypeViews(int options);

listActiveComponentTypeViews
Gets a list of the active component type view definitions from the persistent store. Parameters: options - the valid option values are:
  • DK_ICM_ALL_COMPONENT_TYPES: lists all component type views.
  • DK_ICM_SYSTEM_COMPONENT_TYPES: system-defined component type views.
  • DK_ICM_USER_COMPONENT_TYPES: user-defined component type views.

Returns: a collection of the component type view definition objects of active component type views, DKComponentTypeViewDefICM. Throws: DKException - if error occurs. Memory Management: The component type views and the collection are to be deleted by the caller.

dkCollection* listActiveComponentTypeViews(long options);

createAttr
Creates a new attribute definition object. Returns: a new dkAttrDef object dkAttrDef object - DKAttrDefICM Throws: DKException - if error occurs
dkAttrDef* createAttr();

add
Adds the given attribute definition to the persistent store. Parameters: attrObj - attribute to be added Throws: DKException - if error occurs
void add(dkAttrDef* attrObj);

del
Deletes the given attribute definition from the persistent store. Parameters: attrObj - the attribute to be deleted. Throws: DKException - if error occurs
void del (dkAttrDef* attrObj);

update
Updates the definition of the specified attribute on the current datastore. Parameters: attrObj - the attribute to be updated Throws: DKException if the attrObj is invalid or does not exist in the server
void update(dkAttrDef* attrObj);

listAttrs
Gets a list of user-defined attributes from the datastore. Returns: a dkCollection of dkAttrDef objects Throws: DKException - if error occurs Memory Management: The attributes objects inside the collection and the collection itself are to be deleted by the caller
virtual dkCollection* listAttrs();
 

listAttrs
Gets different lists of attributes defined in the datastore. Parameters: option, one of the following:
  • DK_ICM_ALL_ATTR: to list all the attributes.
  • DK_ICM_USER_ATTR: to list the user-defined attributes.
  • DK_ICM_SYSTEM_ATTR: to list the system-defined attributes.

Returns: a dkCollection of dkAttrDef objects. Throws: DKException - if error occurs Memory Management: The attribute objects and the collection itself are to be deleted by the caller

dkCollection* listAttrs(long option);

retrieveAttr
Retrieves an attribute definition from the persistent store by name. Returns null if the attribute does not exist. If cache is on, get it from memory, otherwise get from database, and add to the cache. If cache is off, retrieve from database. Parameters: attrName - the name of the attribute to be retrieved Returns: the attribute definition as a dkAttrDef object Throws: DKException - if error occurs Memory Management: The attribute returned is to be deleted by the caller
dkAttrDef* retrieveAttr(const char* attrName);

listAttrNames
Gets a list of the user-defined attribute names in the datastore. Returns: an array of attribute names Parameters: arraySize - the size of the DKString array being returned Throws: DKException - if error occurs Memory Management: The DKString array returned is to be deleted by the caller
virtual DKString* listAttrNames(long& arraySize);

listAttrNames
Gets different lists of the attribute names defined in the datastore. Parameters:
  • option - one of the following values:
    • DK_ICM_ALL_ATTR -- to list all the attributes.
    • DK_ICM_USER_ATTR -- to list the user-defined attributes.
    • DK_ICM_SYSTEM_ATTR -- to list the system attributes.
  • arraySize - the size of the DKString array being returned

Returns: an array of attribute names Throws: DKException - if error occurs Memory Management: The DKString array is to be deleted by the caller

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

retrieveComponentType
Retrieves the component type definition with the given name from the persistent store. Returns: the component object, DKComponentTypeDefICM Throws: DKException - if error occurs Memory Management: The component type object returned is to be deleted by the caller
dkEntityDef* retrieveComponentType(const char* compTypeName);

createAttrGroup
Creates an attribute group definition and returns it to caller. This returns the definition as a dkAttrGroupDef object. Returns: a new dkAttrGroupDef object - DKAttrGroupDefICM. Throws: DKException - if error occurs
dkAttrGroupDef* createAttrGroup();

createAttrGroup
Creates an attribute group defintion based on the option requested and returns it to the caller as a dkAttrGroupDef object. Parameters: option - only DK_ICM_REFERENCE_ATTRGROUP is supported. This call request to create a reference attribute group. Returns: a new dkAttrGroupDef object. Throws: DKException - if error occurs
dkAttrGroupDef* createAttrGroup(long option);

add
Adds the given attribute group to the persistent store. Parameters: attrGroupObj - attribute group object to be added Returns: the attribute group identifier Throws: DKException - if error occurs
long add(dkAttrGroupDef* attrGroupObj);

del
Deletes the given attribute group from the persistent store. Parameters: attrGroupObj - the attribute group object to be deleted Throws: DKException - if error occurs
void del(dkAttrGroupDef* attrGroupObj);

update
Updates the given attribute group in the persistent store. Parameters: attrGroupObj - attribute group object to be updated Throws: DKException - if error occurs
void update(dkAttrGroupDef* attrGroupObj);

listAttrGroup
Gets a list of attribute groups defined in the current server. Returns: a dkCollection of dkAttrGroupDef objects. Throws: DKException - if error occurs.
dkCollection* listAttrGroup();

listAttrGroup
Gets different lists of attributes group defined in the current server according to the option. The valid option valuse are:
  • DK_ICM_ALL_ATTRGROUP: to list all the attributes.
  • DK_ICM_USER_ATTRGROUP -- to list the user-defined attribute groups.
  • DK_ICM_SYSTEM_ATTRGROUP: to list the system attirubtes groups.
  • DK_ICM_ALL_REFERENCE_ATTRGROUP: to list all reference attribute groups.
  • DK_ICM_USER_REFERENCE_ATTRGROUP: to list user-defined reference attributegroups.
  • DK_ICM_SYSTEM_REGULAR_ATTRGROUP: to list system-defined regular attribute groups.
  • DK_ICM_USER_REGULAR_ATTRGROUP: to list user-defined regular attribute groups.

Parameters: option - one of values above Throws: DKException - if error occurs Memory Management: The attribute group objects in the collection and the collection itself are to be deleted by the caller

dkCollection* listAttrGroup(long option);

listAttrGroupNames
Gets an array of names of the user-defined attribute groups on the current server. Parameters: arraySize - the size of the DKString array being returned. Returns: an array of attribute group names. Throws: DKException - if error occurs Memory Management: The DKString array returned by to the caller is to be deleted by the caller
DKString* listAttrGroupNames(long& arraySize);

listAttrGroupNames
Gets different lists of the attribute group names defined in the current server according to the option value. The valid option values are:
  • DK_ICM_ALL_ATTRGROUP: to list all the attributes.
  • DK_ICM_USER_ATTRGROUP: to list the user-defined attribute groups.
  • DK_ICM_SYSTEM_ATTRGROUP: to list the system attributes groups.
  • DK_ICM_ALL_REFERENCE_ATTRGROUP: to list all reference attribute groups.
  • DK_ICM_USER_REFERENCE_ATTRGROUP: to list user-defined reference attribute groups.
  • DK_ICM_SYSTEM_REGULAR_ATTRGROUP: to list system-defined regular attribute groups.
  • DK_ICM_USER_REGULAR_ATTRGROUP: to list user-defined regular attribute groups.

Parameters: option - one of the values above arraySize - the size of the DKString array being returned Returns: an array of attribute group names Throws: DKException - if error occurs Memory Management: The DKString array returned to the caller is to be deleted by the caller

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

retrieveAttrGroup
Retrieves an attribute group with the persistent store. Parameters: name - the name of the attribute group to be retrieved Returns: a dkAttrGroupDef object with the specified name Throws: DKException - if error occurs. Memory Management: The attribute group objects is to be deleted by the caller
dkAttrGroupDef* retrieveAttrGroup(const char* attrGroupName);

listEntityAttrGroup
Gets a list of the attributes groups for a given item type. Parameters: entityName - the name of the item type which has the attribute groups Returns: a dkCollection of dkAttrGroupDef objects Throws: DKException if the item type name does not exist Memory Management: The attribute group objects in the collection and the collection itself are to be deleted by the caller
dkCollection*         listEntityAttrGroup(const char* entityName);

listEntityAttrGroupNames
Gets a list of the attribute group names for a given item type. Parameters: entityName - the name of item type which has the attribute groups arraySize - the size of the DKString array being returned Returns: an array of attribute names Throws: DKException if the item type name does not exist Memory Management: The DKString array is to be deleted by the caller
DKString* listEntityAttrGroupNames(const char* entityName, long& arraySize);

add
Adds the given semantic type object to the persistent store. Parameters: semanticTypeObj semantic type object to be added Returns: the integer identifier of the semantic type object Throws: DKException - if error occurs
long add(DKSemanticTypeDefICM* semanticTypeObj);

del
Deletes the given semantic type object from the persistent store. Parameters: semanticTypeObj - the semantic type object to be deleted Throws: DKException - if error occurs
void del(DKSemanticTypeDefICM* semanticTypeObj();

update
Updates the given semantic type object in the persistent store. Parameters: semanticTypeObj the semantic type object to be updated Throws: DKException - if error occurs
void update(DKSemanticTypeDefICM* semanticTypeObj);

listLinkTypes
Lists the link types defined in this persistent store.
dkCollection* listLinkTypes();

listLinkTypeNames
Lists the link names defined in this datastore.

Parameters: arraySize- size of the returned link type names array.

DKString* listLinkTypeNames(long& arraySize);

retrieveLinkType
Retrieves the link type object for the specified name from the persistent store.

Parameters: linkTypeName- name of the link type to be retrieved.

DKLinkTypeDefICM* retrieveLinkType(const char* linkTypeName);

add
Adds the given link type object to the persistent store.

Parameters: linkTypeObj- link type object to be added.

long add(DKLingTypeDefICM* linkTypeObj);

del
Deletes the given link type definition from the persistent store.

Parameters: linkTypeObj- link type object to be deleted.

void del DKLinkTypeDefICM* linkTypeObj);

update
Updates the given link definition on the persistent store.

Parameters: linkTypeObj- link type object definition to be updated.

void update(DKLinkTypeDefICM* linkTypeObj);

listSemanticTypes
Lists the semanticTypes defined in this datastore.
dkCollection* listSemanticTypes();

listSemanticTypeNames
Lists the semantic type names defined in this datastore.

Parameters: arraySize- size of returned semantic type names array.

DKString* listSemanticTypeNames(long& arraySize);

retrieveSemanticType
Retrieves the semantic type object for the given specified name fromthe persistent store.

Parameters: semanticTypeName- the name of the semantic type to be retrieved.

DKSemanticTypeDefICM* retrieveSemanticType(const char* semanticTypeName);

listXdoClassifications
Lists the XDO classification definitions in this datastore.
dkCollection* listXdoClassifications();

listXdoClassificationNames
Lists the XDO classification names defined in this datastore.

Parameters: arraySize- size of the returned XDO classification name array.

DKString* listXdoClassificationNames(long& arraySize);

retrieveXdoClassification
Gets the definition of XDO classification object for the specified name from the persistent store.

Parameters: xdoClassificationName- name of the XDO classification to be retrieved.

DKXDOClassificationDefICM* retrieveXdoClassification( const char* xdoClassificationName);

add
Adds the given XdoClassification object to the persistent store.

Parameters: xdoClassificationObj- XDO classification to be added.

long add(DKXDOClassificationDefICM* xdoClassificationObj);

del
Deletes the given XdoClassification object from the persistent store.

Parameters: xdoClassificationObj- XDO classification to be deleted.

void del(DKXDOClassificationDefICM* xdoClassificationObj);

update
Updates the given XdoClassification object in the persistent store.

Parameters: xdoClassificationObj- XDO classification to be updated.

void update(DKXDOClassificationDefICM* xdoClassificationObj);

listComponentTypeIndexes
Lists the component type indexes for the specified name defined in this datastore.

Parameters: compTypeName- component type name.

dkCollection* listComponentTypeIndexes(const char* compTypeName);

listComponentTypeIndexNames
Lists the component type index names defined in this datastore.

Parameters: compTypeName- component type name. arraySize- size of the returned component type index names array.

DKString* listComponentTypeIndexNames(const char* compTypeName, long& arraySize);

retrieveComponentTypeIndex
Retrieves the definition of the component type index for the given component type index name from the persistent store.

Parameters: componentTypeIndexName- name of the component type index to be retrieved. compTypeName- name of the component type associated with this component type index.

DKComponentTypeIndexDefICM* retrieveComponentTypeIndex(const char* componentTypeIndexName, const char* compTypeName);

add
Adds the given component type index definition object to the persistent store.

Parameters: componentTypeIndexObject- component type index object to be added.

void add(DKComponentTypeIndexDefICM* componentTypeIndexObj);

del
Deletes the given component type index definition object from the persistent store.

Parameters: componentTypeIndexObject- component type index object to be deleted.

void del(DKComponentTypeIndexDefICM* componentTypeIndexObj);

listItemTypeRelations
Lists all the item type relation definitions from the persistent store.
dkCollection* listItemTypeRelations();

retrieveItemTypeRelations
Retrieves a collection of item type relation objects for the given source item type from the persistent store.

Parameters: srcItemTypeId- the identifier of the source item type.

dkCollection* retrieveItemTypeRelations long srcItemTypeId);

retrieveItemTypeRelation
Retrieves item type relation definition for the given source item type and target item type from the persistent store.

Parameters: srcItemTypeId- the identifier of the source item type. tgtItemTypeId- the identifier of the target item type.

DKItemTypeRelationDefICM* retrieveItemTypeRelation(long srcItemTypeId, long tgtItemTypeId);

add
Adds the given item type relation definition to the persistent store.

Parameters: itRelationObj- item type relation object to be added.

void add(DKItemTypeRelationDefICM* itRelationObj);

add
Adds the given collection of item type relation objects to the persistent store.

Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.

void add(dkCollection* relColl);

del
Deletes the given item type relation defintion from the persistent store.

Parameters: itRelationObj- item type relation object to be deleted.

void del(DKItemTypeRelationDefICM* itRelationObj);

del
Deletes the given collection of item type relation objects from the persistent store.

Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.

void del(dkCollection* relColl);

update
Updates the given item type relation definition in the persistent store.

Parameters: itRelationObj- item type relation object to be updated.

void update(DKItemTypeRelationDefICM* itRelationObj);

update
Updates the given collection of item type relation objects in the persistent store.

Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.

void update(dkCollection* relColl);

updateTextIndexes
Forces text index to process documents in the queue.

Parameters: lCompTypeId- component ID of the component containing indexes that need to be updated.

void updateTextIndexes(long lCompTypeId);

reorgTextIndexes
Reorganizes a text index to optimize performance.

Parameters: lCompTypeId- component ID of the component containing indexes that need to be reorganized.

void reorgTextIndexes(long lCompTypeId);

rebuildComponentType
Rebuilds the necessary dynamin linked library for access module functions for a given component type ID. This function should be called when a previously created item type failed due to errors.

Parameters: compTypeId- ID of the component type to be rebuilt.

void rebuildComponentType(long compTypeId);

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