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:
DKDatastoreDefICM(dkDatastore *ds);
Default constructor. Constructs an instance of attribute group definition class. Parameters: ds - ICM datastore.
virtual ~DKDatastoreDefICM();
Destructor for this object.
virtual dkEntityDef* createEntity();
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();
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);
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);
Overrides: listEnittyNames() in class dkDatastoreDef Parameters:
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);
virtual DKString* listEntityNames(long& arraySize);
DKString* listDefinedPartTypeNames(long& arraySize);
virtual dkCollection* listEntityAttrs(const char* entityName);
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);
virtual dkDatastoreAdmin* datastoreAdmin();
dkCollection* listComponentTypes();
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);
DKString* listComponentTypeNames(long& arraySize);
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);
DKComponentTypeViewDefICM* getActiveComponentTypeView(const char* compTypeName);
DKItemTypeViewDefICM* getActiveItemTypeView(const char* itemTypeName)
void makeViewActive(DKItemTypeViewDefICM* itemTypeView);
Parameters: views- the collection of item type views to make active
void makeViewsActive(dkCollection* views);
dkCollection* listActiveItemTypeViews();
dkCollection* listActiveItemTypeViews(long options);
void listActiveComponentTypeViews(int options);
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);
dkAttrDef* createAttr();
void add(dkAttrDef* attrObj);
void del (dkAttrDef* attrObj);
void update(dkAttrDef* attrObj);
virtual dkCollection* listAttrs();
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);
dkAttrDef* retrieveAttr(const char* attrName);
virtual DKString* listAttrNames(long& arraySize);
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);
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();
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);
DKString* listAttrGroupNames(long& arraySize);
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);
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* listLinkTypes();
Parameters: arraySize- size of the returned link type names array.
DKString* listLinkTypeNames(long& arraySize);
Parameters: linkTypeName- name of the link type to be retrieved.
DKLinkTypeDefICM* retrieveLinkType(const char* linkTypeName);
Parameters: linkTypeObj- link type object to be added.
long add(DKLingTypeDefICM* linkTypeObj);
Parameters: linkTypeObj- link type object to be deleted.
void del DKLinkTypeDefICM* linkTypeObj);
Parameters: linkTypeObj- link type object definition to be updated.
void update(DKLinkTypeDefICM* linkTypeObj);
dkCollection* listSemanticTypes();
Parameters: arraySize- size of returned semantic type names array.
DKString* listSemanticTypeNames(long& arraySize);
Parameters: semanticTypeName- the name of the semantic type to be retrieved.
DKSemanticTypeDefICM* retrieveSemanticType(const char* semanticTypeName);
dkCollection* listXdoClassifications();
Parameters: arraySize- size of the returned XDO classification name array.
DKString* listXdoClassificationNames(long& arraySize);
Parameters: xdoClassificationName- name of the XDO classification to be retrieved.
DKXDOClassificationDefICM* retrieveXdoClassification( const char* xdoClassificationName);
Parameters: xdoClassificationObj- XDO classification to be added.
long add(DKXDOClassificationDefICM* xdoClassificationObj);
Parameters: xdoClassificationObj- XDO classification to be deleted.
void del(DKXDOClassificationDefICM* xdoClassificationObj);
Parameters: xdoClassificationObj- XDO classification to be updated.
void update(DKXDOClassificationDefICM* xdoClassificationObj);
Parameters: compTypeName- component type name.
dkCollection* listComponentTypeIndexes(const char* compTypeName);
Parameters: compTypeName- component type name. arraySize- size of the returned component type index names array.
DKString* listComponentTypeIndexNames(const char* compTypeName, long& arraySize);
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);
Parameters: componentTypeIndexObject- component type index object to be added.
void add(DKComponentTypeIndexDefICM* componentTypeIndexObj);
Parameters: componentTypeIndexObject- component type index object to be deleted.
void del(DKComponentTypeIndexDefICM* componentTypeIndexObj);
dkCollection* listItemTypeRelations();
Parameters: srcItemTypeId- the identifier of the source item type.
dkCollection* retrieveItemTypeRelations long srcItemTypeId);
Parameters: srcItemTypeId- the identifier of the source item type. tgtItemTypeId- the identifier of the target item type.
DKItemTypeRelationDefICM* retrieveItemTypeRelation(long srcItemTypeId, long tgtItemTypeId);
Parameters: itRelationObj- item type relation object to be added.
void add(DKItemTypeRelationDefICM* itRelationObj);
Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.
void add(dkCollection* relColl);
Parameters: itRelationObj- item type relation object to be deleted.
void del(DKItemTypeRelationDefICM* itRelationObj);
Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.
void del(dkCollection* relColl);
Parameters: itRelationObj- item type relation object to be updated.
void update(DKItemTypeRelationDefICM* itRelationObj);
Parameters: relColl- collection of item type relation objects. Each object in the collection should be an instance of DKItemTypeRelationDefICM.
void update(dkCollection* relColl);
Parameters: lCompTypeId- component ID of the component containing indexes that need to be updated.
void updateTextIndexes(long lCompTypeId);
Parameters: lCompTypeId- component ID of the component containing indexes that need to be reorganized.
void reorgTextIndexes(long lCompTypeId);
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.