PLMDictionaryNavServices class CATCkePLMNavCustoAccessPublicServices

Usage: you must use this class as is. You should never derive it.


public class CATCkePLMNavCustoAccessPublicServices

Services enabling the access to custo types that customers may have defined with DMC tool.

These services make sense mainly if you're operating in Former Typing mode.
But in a transition phase (from Former typing to Unified typing) it also make sense in Unified Typing mode to access previously created objects.
Small introduction to the different kinds of PLM types.
- top modeler types: for instance VPMReference. It corresponds to types delivered by our software out of the box
- discipline types: for instance Drawing. They correspond to sub types of top modeler types for a given application.
- custo types: it is the types defined by the customers with DMC tool, in Former typing system.
- specialization types: it is the types defined by the customers with the new KWD tool. They are different from custo types.
- extension types: An extension is put on an object by an application to extend its data model and its behaviors.
- specialization extension types: it correspond to a sub type of an extension defined by the customer with the new KWD tool.
- customer extension types: they correspond to an extension defined by a customer with the new KWD tool.
- deployment extension types: they are not available in CAA public APIs. A deployment extension is put on an object with a business rule to extend automatically its data model. Deployment extension are created with the DMA tool.
A PLM object has a primary type (modeler, discipline, specialization, custo) and potentially several secondary types (extension, and deployment extensions).

The services of this CATCkePLMNavCustoAccessPublicServices header are aimed at manipulating custo types.
But they are also aimed at generic tools that want to retrieve list of attributes on a type whatever its nature.
If you want to access out of the box types, please use CATCkePLMNavPublicServices.
If you want to access specialization types, please use CATCkePLMNavSpecializationAccessPublicServices.
If you want to read attributes on an object, please use CATCkeObjectAttrReadServices.
If you want to write attributes on an object, please use CATCkeObjectAttrWriteServices.

See also:
CATIType, CATAttributeInfos, CATICkeObject, CATCkeObjectAttrReadServices, CATCkeObjectAttrWriteServices, CATCkePLMNavPublicServices, CATCkePLMNavSpecializationAccessPublicServices


Method Index


o FindAttributeFromCustoType(CATCkePLMTypeAttrServices::FilteringCriteria,CATIType_var&,CATUnicodeString&,CATAttributeInfos*&,CATBoolean)
Retrieves if it exists, a PLM attribute of a given name, of a custo Type that matches the criteria in input.
o GetAttributeNLSNameFromCustoType(CATIType_var&,CATUnicodeString&,CATUnicodeString&)
This service is used to translate in NLS the name of a PLM attribute of a custo type.
o IsACustoType(CATIType_var&)
Indicates if a type is a custo type.
o ListAttributesFromCustoType(CATCkePLMTypeAttrServices::FilteringCriteria,CATIType_var&,CATListValCATAttributeInfos&,CATBoolean,CATBoolean)
This service is used to get the list of PLM attributes from a Custo type filtered by a criteria.
o ListFilteredAttributesFromMaskAndCustoType(CATIType_var&,CATCkePLMTypeAttrServices::PLMMaskCriteria,CATListValCATAttributeInfos&)
Retrieves the list of PLM attributes of a custo type that matches the PLM Mask criteria in input.
o RetrieveCustoType(char*,CATIType_var&)
Returns the Custo type from a type name, known by a customer through its customization done with DMC tool.

Methods


o FindAttributeFromCustoType
public static HRESULT FindAttributeFromCustoType( const CATCkePLMTypeAttrServices::FilteringCriteria iFilteringCriteria,
const CATIType_var& iType,
const CATUnicodeString& iAttributeName,
CATAttributeInfos*& opAttr,
CATBoolean iReadWriteOnly= FALSE)
Retrieves if it exists, a PLM attribute of a given name, of a custo Type that matches the criteria in input.
This method is introduced as a replacement of CATCkePLMTypeAttrServices.FindAttribute.
This method works on all primary types in fact.
Parameters:
iFilteringCriteria
Filtering criteria to apply
iType
The input PLM Type to be queried. It can be a modeler type, discipline type or specialization type or a custo type
iAttributeName
The non-NLS name of the attribute.
opAttr
The attribute, if found. The service allocates the object, so the given pointer must be NULL, and must be deleted after use.
iReadWriteOnly
Specify if we want to apply an additional filter to access only Read/Write attributes
  1. TRUE if we want to obtain a list of the Read/Write attributes only.
  2. FALSE (default value) if we do not want to apply this additional filter, and we want to obtain both Read Only attributes and Read/Write.
Returns:
  1. E_INVALIDARG if the input PLM type is NULL or if it is a custo type
  2. S_OK if calculation is ok, even if the attribute is not found (= NULL)
o GetAttributeNLSNameFromCustoType
public static HRESULT GetAttributeNLSNameFromCustoType( const CATIType_var& iType,
const CATUnicodeString& iAttributeName,
CATUnicodeString& oNLSName)
This service is used to translate in NLS the name of a PLM attribute of a custo type.
It works on custo type but in fact on any Primary type. So it can be used by all the toolkits that must be independent from typing system like advanced search.
If you're interested in accessing this information on a given object, please use CATCkeObjectAttrReadServices.GetAttributeNLSNameFromObject
Parameters:
iType
Custo type in input or modeler type (a primary type)
iAttributeName
Name of the attribute in the Knowledge dictionary (internal name)
oNLSName
NLS Name of the attribute
Returns:
  1. E_INVALIDARG if the type is NULL, or if the type is not a primary type.
  2. S_OK if the attribute has been found
  3. E_FAIL if not found
o IsACustoType
public static HRESULT IsACustoType( const CATIType_var& iType)
Indicates if a type is a custo type.
Usage: Only for CAA customers. Do not use it internally.
Parameters:
iType
The type in input
Returns:
  1. E_INVALIDARG if the type is not found
  2. S_FALSE if the type is not a custo type
  3. S_OK if the type has been found
o ListAttributesFromCustoType
public static HRESULT ListAttributesFromCustoType( const CATCkePLMTypeAttrServices::FilteringCriteria iFilteringCriteria,
const CATIType_var& iType,
CATListValCATAttributeInfos& oListAttr,
CATBoolean iReadWriteOnly= FALSE,
CATBoolean iInherited=FALSE)
This service is used to get the list of PLM attributes from a Custo type filtered by a criteria.
It works on custo type but in fact on any Primary type. So it can be used by all the toolkits that must be independent from typing system like advanced search.
If you're interested in the list of attributes on a particular object you must use @ref CATCkePLMNavPublicServices#ListAttributesFromObject instead of this method.
This method is introduced as an alternative to CATCkePLMTypeAttrServices.ListAttributes.
Parameters:
iFilteringCriteria
Filtering criteria to apply. Note that the Identifier criteria does not make sense on a type so it will return an error
iType
The custo type or a modeler type (a primary type)
oListAttr
The list of PLM attributes obtained. It is filled by the service. The service removes elements of the list in input first.
iReadWriteOnly
Specify if we want to apply an additional filter to access only Read/Write attributes
  1. TRUE if we want to obtain a list of the Read/Write attributes only.
  2. FALSE (default value) if we do not want to apply this additional filter, and we want to obtain both Read Only attributes and Read/Write.
iInherited
Specify if we want to access only the attributes locally defined on the type or the full list of attributes taking inheritance into account.
  1. TRUE if we want to obtain the full list of attributes including inherited attributes
  2. FALSE (default value) if we want to obtain only the attributes locally defined on the type
Returns:
  1. E_INVALIDARG if the input PLM type is NULL or the type is a not a primary type.
  2. S_OK if the list of attributes is valuated (even if empty)
  3. E_FAIL otherwise
o ListFilteredAttributesFromMaskAndCustoType
public static HRESULT ListFilteredAttributesFromMaskAndCustoType( const CATIType_var& iType,
const CATCkePLMTypeAttrServices::PLMMaskCriteria iPLMMaskCriteria,
CATListValCATAttributeInfos& oListFilteredAttr)
Retrieves the list of PLM attributes of a custo type that matches the PLM Mask criteria in input.
It works on custo type but in fact on any Primary type. So it can be used by all the toolkits that must be independent from typing system like advanced search.
If you're interested in the list of attributes on a particular object you must use CATCkePLMNavPublicServices.ListFilteredAttributesFromMaskAndObject instead of this method.
Parameters:
iType
The type: custo type or modeler type. A primary type
iPLMMaskCriteria
Filtering PLM Mask criteria to apply
oListFilteredAttr
The list of PLM attributes obtained. It is filled by the service. The service removes elements of the list in input first.
Returns:
  1. E_INVALIDARG if the input PLM type is invalid, or if the type is not a primary type.
  2. E_FAIL if failure
  3. S_OK if the list of attributes is valuated (even if empty)
o RetrieveCustoType
public static HRESULT RetrieveCustoType( const char* iTypeName,
CATIType_var& oType)
Returns the Custo type from a type name, known by a customer through its customization done with DMC tool.
Usage: All contexts.
Parameters:
iTypeName
The type name in input. Only custo type are authorized.
oType
the type found
Returns:
  1. E_INVALIDARG if the type is not found or type name is a custo type.
  2. S_OK if the type has been found

This object is included in the file: CATCkePLMNavCustoAccessPublicServices.h
If needed, your Imakefile.mk should include the module: PLMDictionaryNavServices

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.