All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

ObjectSpecsModeler Interface CATISpecAttrAccess

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---CATISpecAttrAccess
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATISpecAttrAccess

Provides access to the value(s) of an attribute.

Role:This interface is implemented on a feature. It allows you to access ( get and set ) to attribute values and type via a CATISpecAttrKey obtained by GetAttrKey.

See also:
CATISpecAttrKey, CATISpecObject


Method Index


o GetAccess(CATISpecAttrKey*)
Returns the access mode.
o GetAttrKey(char*)
Returns the key allowing access to an attribute value.
o GetBoolean(CATISpecAttrKey*,int)
Retrieves the CATBoolean value of an attribute by key.
o GetDouble(CATISpecAttrKey*,int)
Retrieves the double value of an attribute by key.
o GetExternalObject(CATISpecAttrKey*,CATFlavorParam,CATILinkableObject**,int)
Retrieves the object pointed via the specified tk_external attribute.
o GetFinalSpecAttribute(CATISpecAttrKey*,CATISpecObject_var&,int)
Returns the key of the final attribute in an attribute-attribute link (or chain of links).
o GetInteger(CATISpecAttrKey*,int)
Retrieves the integer value of an attribute by key.
o GetListDouble(CATISpecAttrKey*)
Retrieves the list of values of an attribute of type tk_double by key.
o GetListInteger(CATISpecAttrKey*)
Retrieves the list of values of an attribute of type tk_integer by key.
o GetListOctet(CATISpecAttrKey*)
Retrieves the list of values of an attribute of type tk_octet by key.
o GetListSize(CATISpecAttrKey*)
Returns the size of the list valuating an attribute.
o GetListString(CATISpecAttrKey*)
Retrieves the list of values of an attribute of type tk_string by key.
o GetListType(CATISpecAttrKey*)
Returns the type of the list valuating an attribute.
o GetLiteral(CATISpecAttrKey*,IID&)
Returns the CATBaseUnknown* corresponding to a new literal.
o GetOctet(CATISpecAttrKey*,int)
Retrieves the octet value of an attribute by key.
o GetPosition(CATISpecAttrKey*,CATISpecObject_var&)
On a list of tk_specobject or tk_compo, returns the index of a given object.
o GetQuality(CATISpecAttrKey*)
Returns the quality of the Attribute.
o GetSpecAttribute(CATISpecAttrKey*,CATISpecObject_var&,int)
In the case of an attr-attr link, retrieves the "real" attribute, the one whose value is pointed by the link.
o GetSpecObject(CATISpecAttrKey*,int)
access key to attribute.
o GetString(CATISpecAttrKey*,int)
Retrieves the string value of an attribute by key.
o GetTimeStamp(CATISpecAttrKey*)
o InsertAtPosition(CATISpecAttrKey*,CATISpecObject_var&,int)
Insert feature iValue at position i in a list attribute.
o IsOfType(CATISpecAttrKey*)
o IsUpToDate(CATISpecAttrKey*)
Returns the update status of the attribute.
o ListAttrKeys(CATListValCATISpecAttrKey_var&)
Returns a list of keys to access values of attributes.
o ListAttrNames()
Returns the list of the names of the attributes belonging to the feature.
o ListPointingObjects(IID&,CATISpecAttrKey*,CATISpecAttrKey*)
Lists all objects pointing this feature.
o ListSpecObjects(CATISpecAttrKey*,CATClassId)
Lists SpecObjects referred to by the attribute.
o ListSpecObjects(CATISpecAttrKey*,IID&)
Lists SpecObjects referred to by the attribute.
o MoveInPosition(CATISpecAttrKey*,CATISpecObject_var&,int)
Modifies the position in the list of a value of the list valuating attribute.
o RemoveAll(CATISpecAttrKey*)
Deletes all values in the attribute iName.
o RemovePosition(CATISpecAttrKey*,int)
Deletes the value at index iIndex in the attribute iName.
o RemoveSpecObject(CATISpecAttrKey*,CATISpecObject_var&)
Removes an element of the list valuating an attribute.
o SetAccess(CATISpecAttrKey*,CATAttrAccess)
o SetBoolean(CATISpecAttrKey*,CATBoolean,int)
Assigns a value of CATBoolean type to an attribute.
o SetDouble(CATISpecAttrKey*,double,int)
Assigns a value of double type to an attribute.
o SetExternalObject(CATISpecAttrKey*,CATILinkableObject_var&,int,CATBoolean)
Assigns a value to a tk_external attribute.
o SetInteger(CATISpecAttrKey*,int,int)
Assigns a value of integer type to an attribute.
o SetListDouble(CATISpecAttrKey*,CATRawColldouble&)
Assigns a list of doubles to an attribute of tk_list(tk_double) type.
o SetListInteger(CATISpecAttrKey*,CATRawCollint&)
Assigns a list of integers to an attribute of tk_list(tk_integer) type.
o SetListOctet(CATISpecAttrKey*,SEQUENCE(octet)&)
Assigns a list of octet to an attribute of tk_list(tk_octet) type.
o SetListString(CATISpecAttrKey*,CATListValCATUnicodeString&)
Assigns a list of strings to an attribute of tk_list(tk_string) type.
o SetOctet(CATISpecAttrKey*,octet,int)
Assigns a value of octet type to an attribute.
o SetPrivate(CATISpecAttrKey*)
Marks the component (or list of components) of this object, pointed by the given attribute, as private.
o SetQuality(CATISpecAttrKey*,CATAttrInOut)
Sets the quality of the Attribute.
o SetSpecAttribute(CATISpecAttrKey*,CATISpecObject_var&,CATISpecAttrKey*,int)
Creates an attribute-attribute link.
o SetSpecObject(CATISpecAttrKey*,CATISpecObject_var&,int,CATBoolean,int)
Assigns a value of SpecObject type to an attribute.
o SetString(CATISpecAttrKey*,CATUnicodeString&,int)
Assigns a value of string type to an attribute.
o Synchronize(CATListValCATBaseUnknown_var*)
Synchronizes instance with its reference : missing components are added, extraneous components are removed.
o SynchronizeAllInstances(CATListValCATBaseUnknown_var*,CATListValCATISpecObject_var*)
Recursively synchronizes all specified attributes on all instances of the calling feature.
o TestAttrKey(CATISpecAttrKey*)
Determines whether the key exists on this feature.
o TestAttributeValue(CATISpecAttrKey*)
Determines whether the attribute is assigned a value.
o TestFinalAttributeValue(CATISpecAttrKey*,int)
Tests if the attribute at the end of an attribute-attribute link (or chain of links) is valuated.
o UnsetAttributeValue(CATISpecAttrKey*)
Unsets the attribute value.
o UnsetPrivate(CATISpecAttrKey*)
Marks the component (or lists of components) of this object, pointed by the given attribute, as public.
o Update(CATISpecAttrKey*)
Update the content of attribute iKey according to its quality and update rules.

Methods


o GetAccess
public virtual CATAttrAccess GetAccess( const CATISpecAttrKey* iKey) const = 0
Returns the access mode.
Parameters:
iKey
access key to attribute.
See also:
CATAttrAccess
o GetAttrKey
public virtual CATISpecAttrKey* GetAttrKey( const char* iName) const = 0
Returns the key allowing access to an attribute value.
WARNING: key is not synonymous with name. A key may be applied on all instances inheriting the same attribute; it may NOT be applied for attributes with the same name on another startup.
Parameters:
iName
name of the attribute to get a key from.
Returns:
a CATISpecAttrKey* corresponding to the requested key, or NULL if the key could not be found.
o GetBoolean
public virtual CATBoolean GetBoolean( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Retrieves the CATBoolean value of an attribute by key.
Parameters:
iKey
access key to attribute.
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
attribute value or 0 if the value could not be retrieved.
o GetDouble
public virtual double GetDouble( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Retrieves the double value of an attribute by key.
Parameters:
iKey
access key to attribute.
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
attribute value or 0 if the value could not be retrieved.
o GetExternalObject
public virtual HRESULT GetExternalObject( const CATISpecAttrKey* iKey,
CATFlavorParam iParam,
CATILinkableObject** oObj,
int iIndex=0) const = 0
Retrieves the object pointed via the specified tk_external attribute.
Parameters:
iKey
access key to attribute.
iParam
bind parameter of the link resolution
ANYWHERE : resolution will be attempted even in non loaded documents (pointed document may be loaded)
IN_SESSION : resolution will be attempted only in loaded documents (pointed document will not be loaded but pointed container may be loaded)
DONT_BIND : no resolution will be attempted, only cache data is read (pointed document and container will not be loaded)
oObj
the pointed object
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
S_OK if pointed object has been found
S_FALSE if link is unset or valuated with NULL, so oObj is NULL
E_INVALIDARG if failed because iKey is invalid on pointing object or iIndex is out of range
E_ACCESSDENIED if failed because iParam does not allow to find the pointed object
Other hresults can occur if the set pointed document could not be loaded or the pointed object does not exist in the pointed document any more. These hresults can be tested using the FAILED() macro. E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o GetFinalSpecAttribute
public virtual CATISpecAttrKey* GetFinalSpecAttribute( const CATISpecAttrKey* iKey,
CATISpecObject_var& oObj,
int iIndex=0) const = 0
Returns the key of the final attribute in an attribute-attribute link (or chain of links).
If iKey is not an attr-attr link, this method will return iKey and oObj will be the current object.
Parameters:
iKey
key of the attribute.
oObj
SpecObject held by the final attribute.
iIndex
index in the list. Lists start at 1.
Returns:
the key of the final attribute.
o GetInteger
public virtual int GetInteger( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Retrieves the integer value of an attribute by key.
Parameters:
iKey
access key to attribute.
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
attribute value or 0 if the value could not be retrieved.
o GetListDouble
public virtual CATRawColldouble* GetListDouble( const CATISpecAttrKey* iKey) const = 0
Retrieves the list of values of an attribute of type tk_double by key. The caller is reponsible for deletion of the list.
WARNING : use of GetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
o GetListInteger
public virtual CATRawCollint* GetListInteger( const CATISpecAttrKey* iKey) const = 0
Retrieves the list of values of an attribute of type tk_integer by key. The caller is reponsible for deletion of the list.
WARNING : use of GetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
o GetListOctet
public virtual SEQUENCE(octet)* GetListOctet( const CATISpecAttrKey* iKey) = 0
Retrieves the list of values of an attribute of type tk_octet by key. The caller is reponsible for deletion of the list.
WARNING : use of GetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
o GetListSize
public virtual int GetListSize( const CATISpecAttrKey* iKey) const = 0
Returns the size of the list valuating an attribute.
Role: done recursively on attributes valuating attribute.
Parameters:
iKey
access key to attribute.
Returns:
addition of all intermediate sizes of lists.
o GetListString
public virtual CATListValCATUnicodeString* GetListString( const CATISpecAttrKey* iKey) const = 0
Retrieves the list of values of an attribute of type tk_string by key. The caller is reponsible for deletion of the list.
WARNING : use of GetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
o GetListType
public virtual CATAttrKind GetListType( const CATISpecAttrKey* iKey) const = 0
Returns the type of the list valuating an attribute. Possible values are tk_integer, tk_double, tk_string, tk_external, tk_specobject, tk_component, etc.
Parameters:
iKey
access key to attribute.
o GetLiteral
public virtual CATBaseUnknown* GetLiteral( const CATISpecAttrKey* iKey,
const IID& iIntfIID) const = 0
Returns the CATBaseUnknown* corresponding to a new literal. See New Literals CAA documentation.
Parameters:
iKey
access key to attribute.
iIntfIID
filter to specialize the handle on the referred SpecObject.
o GetOctet
public virtual octet GetOctet( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Retrieves the octet value of an attribute by key.
Parameters:
iKey
access key to attribute.
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
attribute value or 0 if the value could not be retrieved.
o GetPosition
public virtual int GetPosition( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iObj) = 0
On a list of tk_specobject or tk_compo, returns the index of a given object.
Parameters:
iKey
access key to attribute. Must be a list of tk_spec or tk_compo. (Returns 0 otherwise).
iObj
SpecObject to search for in the list.
Returns:
the index of the object if found (in the range 1 to size of list), or 0 if not found / not applicable.
o GetQuality
public virtual CATAttrInOut GetQuality( const CATISpecAttrKey* iKey) const=0
Returns the quality of the Attribute. Possible values (in/out/neutral) are mutually exclusive.
Role:The attribute quality is a parameter that allows to specify the role played by an attribute in the Update mechanism ( in DS default Update mechanism ).
Parameters:
iKey
attribute key
Returns:
  • sp_IN: These attributes are those which are usually required to define or specify a feature.
  • sp_OUT: These attributes are those whose values result from a Build operation and may be used as input parameters for other features.
  • sp_NEUTRAL: Attributes of sp_NEUTRAL quality are ignored by the default Update mechanism.
See also:
CATAttrInOut, CATIBuild, CATIOsmUpdate
o GetSpecAttribute
public virtual CATISpecAttrKey* GetSpecAttribute( const CATISpecAttrKey* iKey,
CATISpecObject_var& oObj,
int iIndex=0) const = 0
In the case of an attr-attr link, retrieves the "real" attribute, the one whose value is pointed by the link.
Parameters:
iKey
access key to attribute.
oObj
attribute object retrieved.
iIndex
index in the list. Lists start at 1. Unused on single values.
See also:
SetSpecAttribute, GetFinalSpecAttr
o GetSpecObject
public virtual CATISpecObject* GetSpecObject( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
access key to attribute.
Parameters:
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
a CATISpecObject* to the relevant SpecObject, or NULL if the object could not be retrieved.
o GetString
public virtual CATUnicodeString GetString( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Retrieves the string value of an attribute by key.
Parameters:
iKey
access key to attribute.
iIndex
index in the list. Lists start at 1. Unused on single values.
Returns:
attribute value or an empty string if the value could not be retrieved.
o GetTimeStamp
public virtual CATOldTimeStamp GetTimeStamp( const CATISpecAttrKey* iKey)=0
Deprecated:
V5R19 Stop using it !
Returns the modification TimeStamp of the attribute.
Parameters:
iKey
access key to attribute.
See also:
CATOldTimeStamp
o InsertAtPosition
public virtual HRESULT InsertAtPosition( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iValue,
int iPosition) = 0
Insert feature iValue at position i in a list attribute. Following objects are moved from their current index to index+1.
Parameters:
iKey
access key to modify.
iValue
Value to put in the attribute.
iPosition
Position at which the value must be inserted.
Returns:
S_OK if succeeded, E_FAIL if iPosition is out of range or object can't be set in this attribute.
o IsOfType
public virtual CATUnicodeString IsOfType( const CATISpecAttrKey* iKey) const = 0
Deprecated:
V5R19 Use GetType and GetListType instead.
Returns type of the attribute.
Parameters:
iKey
access key to attribute.
o IsUpToDate
public virtual HRESULT IsUpToDate( const CATISpecAttrKey* iKey) const = 0
Returns the update status of the attribute.
Relies on CATIUpdateProvider.
Parameters:
iKey
The attribute key.
Returns:
S_OK if the content of the attribute (if the attribute points objects) is up to date and if the attribute is synchronized. Here we call synchronization the following: If the last update of this attribute (or the whole feature) has been done after the update of the content.
S_FALSE if the content is not up to date or has been updated after this attribute has been updated.
E_FAIL if iKey is not valid.
o ListAttrKeys
public virtual HRESULT ListAttrKeys(CATListValCATISpecAttrKey_var& oList)const = 0
Returns a list of keys to access values of attributes.
For performance reasons, this method is recommended over ListAttrNames.
Parameters:
oList
list of attribute keys
Returns:
S_OK successful
o ListAttrNames
public virtual CATListValCATUnicodeString* ListAttrNames()const = 0
Returns the list of the names of the attributes belonging to the feature.
o ListPointingObjects
public virtual CATListValCATBaseUnknown_var* ListPointingObjects( const IID& iIntfIID,
CATISpecAttrKey* iFromKey= NULL,
CATISpecAttrKey* iToKey= NULL)=0
Lists all objects pointing this feature.
If iFromKey is specified, lists only objects pointing this feature via their iFromKey attribute.
If iToKey is specified, lists only objects pointing the attribute iToKey on this feature.
Parameters:
iIntfIID
filter to specialize the handle on the referred SpecObject.
iFromKey
access key to attribute.
iToKey
access to attribute's value.
o ListSpecObjects
public virtual CATListValCATBaseUnknown_var* ListSpecObjects( const CATISpecAttrKey* iKey,
CATClassId iIntfName=0) const = 0
Lists SpecObjects referred to by the attribute.
Note: Do not use.
Parameters:
iKey
access key to attribute.
iIntfName
name of the interface filtering the kind of objects to find.
Returns:
list of SpecObjects refered by the attribute. If no iIntfName, it is a list of CATISpecObject.
o ListSpecObjects
public virtual CATListValCATBaseUnknown_var* ListSpecObjects( const CATISpecAttrKey* iKey,
const IID& iIntfIID) const = 0
Lists SpecObjects referred to by the attribute.
Parameters:
iKey
access key to attribute.
iIntfIID
identifier of the interface filtering the kind of objects to find.
Returns:
list of SpecObjects referred to by the attribute. If no iIntfIID, it is a list of CATISpecObject.
o MoveInPosition
public virtual int MoveInPosition( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iObj,
int iNewPos) = 0
Modifies the position in the list of a value of the list valuating attribute.
Parameters:
iKey
access key to attribute.
iObj
concerned specObject referenced.
iNewPos
the new position of iObj.
For instance:
 List is " A B C D E ";
 MoveInPosition(D,2) List becomes " A D B C E " : D is moved in position 2.
 
whereas
 MoveInPosition(B,4) List becomes " A C D B E " : B is moved in position 4.
 
Returns:
1 if succeeded 0 if failed or was useless.
o RemoveAll
public virtual HRESULT RemoveAll( const CATISpecAttrKey* iKey) = 0
Deletes all values in the attribute iName. The attribute is not marked unset afterwards, unlike UnsetAttributeValue.
Subsequent Gets on the attribute will return 0.
NB : DO NOT USE ON SINGLE VALUES !
Parameters:
iKey
access key to attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
o RemovePosition
public virtual HRESULT RemovePosition( const CATISpecAttrKey* iKey,
int iIndex) = 0
Deletes the value at index iIndex in the attribute iName. The attribute must be a list.
Parameters:
iKey
access key to attribute.
iIndex
position of the element to remove.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o RemoveSpecObject
public virtual HRESULT RemoveSpecObject( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iObj) = 0
Removes an element of the list valuating an attribute.
Parameters:
iKey
access key to attribute.
iObj
SpecObject valuating the attribute, concerned value to remove.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
o SetAccess
public virtual HRESULT SetAccess( const CATISpecAttrKey* iKey,
CATAttrAccess iPubPriv) = 0
Deprecated:
V5R19 Use CATfctEditorAssistant tool instead.
Modifies public/private status.
Private attributes exist only on this feature; if the feature is instanciated, instances will not have these attributes.
Public attributes exist on this feature and all its instances.
Parameters:
iKey
access key to attribute.
iPubPriv
access mode.
See also:
CATAttrAccess
Returns:
S_OK successful
S_FALSE successful does not change the model
E_NOLOCALVALUE
E_KEYNOTFOUND
o SetBoolean
public virtual HRESULT SetBoolean( const CATISpecAttrKey* iKey,
CATBoolean iBool,
int iIndex=0) = 0
Assigns a value of CATBoolean type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iBool
value to assign to the tk_boolean attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetDouble
public virtual HRESULT SetDouble( const CATISpecAttrKey* iKey,
double d,
int iIndex=0) = 0
Assigns a value of double type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Note: This is the preferred method for better performance.
Parameters:
iKey
access key to attribute.
d
value to assign to the tk_double attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetExternalObject
public virtual HRESULT SetExternalObject( const CATISpecAttrKey* iKey,
const CATILinkableObject_var& iObj,
int iIndex=0,
CATBoolean iNeedToSave=FALSE) = 0
Assigns a value to a tk_external attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.

Role: Creates a symbolic link between the feature (pointing object) owning the tk_external attribute and the (pointed) object specified in argument. This method is the same as SetSpecObject, but allows to refer any LinkableObject ( SetSpecObject refers only CATISpecObjects ).
Parameters:
iKey
access key to attribute.
iObj
value to assign to the tk_external attribute. iObj must be a valid CATILinkableObject. NULL_var is not an allowed value.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
iNeedToSave
If TRUE, means that save of document containing the feature with valuated attribute will call save of document containing the referred object.
Returns:
S_OK if succeeded
E_INVALIDARG if failed because iKey is invalid on pointing object or iIndex is out of range, or iObj is NULL_var or is not a valid CATILinkableObject
Other hresults can occur if the set cannot be done, which can be tested using the FAILED() macro. S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_TYPEMISMATCH
E_CANNOTLOAD
o SetInteger
public virtual HRESULT SetInteger( const CATISpecAttrKey* iKey,
int s,
int iIndex=0) = 0
Assigns a value of integer type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Note: This is the preferred methods for better performance.
Parameters:
iKey
access key to attribute.
s
value to assign to the tk_integer attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetListDouble
public virtual HRESULT SetListDouble( const CATISpecAttrKey* iKey,
const CATRawColldouble& iList)= 0
Assigns a list of doubles to an attribute of tk_list(tk_double) type.
WARNING : use of SetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iList
list of doubles values to assign to the attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetListInteger
public virtual HRESULT SetListInteger( const CATISpecAttrKey* iKey,
const CATRawCollint& iList)= 0
Assigns a list of integers to an attribute of tk_list(tk_integer) type.
WARNING : use of SetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iList
list of integer values to assign to the attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetListOctet
public virtual HRESULT SetListOctet( const CATISpecAttrKey* iKey,
const SEQUENCE(octet)& iList)= 0
Assigns a list of octet to an attribute of tk_list(tk_octet) type.
WARNING : use of SetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iList
list of octet values to assign to the attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetListString
public virtual HRESULT SetListString( const CATISpecAttrKey* iKey,
const CATListValCATUnicodeString& iList)= 0
Assigns a list of strings to an attribute of tk_list(tk_string) type.
WARNING : use of SetListX on an attribute of type list(Y) WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iList
list of strings values to assign to the attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetOctet
public virtual HRESULT SetOctet( const CATISpecAttrKey* iKey,
octet iOct,
int iIndex=0) = 0
Assigns a value of octet type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iOct
value to assign to the tk_octet attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o SetPrivate
public virtual HRESULT SetPrivate(CATISpecAttrKey* iKey) = 0
Marks the component (or list of components) of this object, pointed by the given attribute, as private.
Private components are not instanciated when the feature that aggregates them is instanciated.
NB : calling GetSpecObject on an instance that does not have the requested component (because it is marked private on its reference) will return the component on its reference.
WARNING : use of this method is discouraged as it may cause severe side effects.
Parameters:
iKey
access key to attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_NOLOCALVALUE
E_KEYNOTFOUND
See also:
UnsetPrivate
o SetQuality
public virtual HRESULT SetQuality( const CATISpecAttrKey* iKey,
CATAttrInOut iInOut)=0
Sets the quality of the Attribute. Possible values (in/out/neutral) are mutually exclusive.
Role:The attribute quality is a parameter that allows to specify the role played by an attribute in the Update mechanism ( in DS default Update mechanism ).
Parameters:
iKey
attribute key
iInOut
  • sp_IN: These attributes are those which are usually required to define or specify a feature.
  • sp_OUT: These attributes are those whose values result from a Build operation and may be used as input parameters for other features.
  • sp_NEUTRAL: Attributes of sp_NEUTRAL quality are ignored by the default Update mechanism.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_NOLOCALVALUE
E_KEYNOTFOUND
See also:
CATAttrInOut, CATIBuild, CATIOsmUpdate
o SetSpecAttribute
public virtual HRESULT SetSpecAttribute( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iObj2,
const CATISpecAttrKey* iAtt2,
int iIndex=0) = 0
Creates an attribute-attribute link. The given attribute will not have its own value but will instead refer to another attribute of the same type.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Parameters:
iKey
access key to attribute.
iObj2
feature holding the refered attribute.
iAtt2
access key to attribute refered.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_TYPEMISMATCH
E_CANNOTLOAD
See also:
GetSpecAttribute
o SetSpecObject
public virtual HRESULT SetSpecObject( const CATISpecAttrKey* iKey,
const CATISpecObject_var& iObj,
int iIndex=0,
CATBoolean iNeedToSave=FALSE,
int relative=0) = 0
Assigns a value of SpecObject type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Role: the referred SpecObject is shareable ( note that it is not the tk_specobject attribute which is shared, but the feature which is assigned as a value to this attribute ), so it can be referenced by several features. A referenced feature does not belong to any other feature. A referenced feature just lives on its own. Its life cyle is completely independent of the features which use it as a reference.
Note: This is the preferred method for better performance.
Parameters:
iKey
access key to attribute.
iObj
value to assign to the tk_specobject attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
iNeedToSave
When an attribute is valuated with a specobject, a link is created on the referred CATISpecObject. If TRUE, means that save of document containing the feature with valuated attribute will call save of document containing the referred SpecObject.
relative
No longer supported. Do not use.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_TYPEMISMATCH
E_CANNOTLOAD
o SetString
public virtual HRESULT SetString( const CATISpecAttrKey* iKey,
const CATUnicodeString& iString,
int iIndex=0) = 0
Assigns a value of string type to an attribute.
WARNING : use of SetX on an attribute of type Y WILL cause unpredictable behaviour.
Note: This is the preferred method for better performance.
Parameters:
iKey
access key to attribute.
iString
value to assign to the tk_string attribute.
iIndex
index in the list. Lists start at 1; 0 adds to the end of the list. Unused on single values.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_KEYNOTFOUND
E_OUTOFBOUND
E_NOTALIST
E_TYPEMISMATCH
o Synchronize
public virtual HRESULT Synchronize(CATListValCATBaseUnknown_var* lstKeys= 0) = 0
Synchronizes instance with its reference : missing components are added, extraneous components are removed.
Parameters:
lstKeys
list of attributes to synchronize.
if NULL, all attributes will be synchronized.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_FAIL an error is decteted S_NOSTATUS status cannot be given
o SynchronizeAllInstances
public virtual HRESULT SynchronizeAllInstances(CATListValCATBaseUnknown_var* iLstKeys=0 ,
CATListValCATISpecObject_var* oListObj= NULL) = 0
Recursively synchronizes all specified attributes on all instances of the calling feature.
Parameters:
iLstKeys
list of attributes to synchronize
if NULL, all attributes will be synchronized.
oListObj
list of all instances of the feature found ( synchronised or not ).
Returns:
S_OK successful
S_FALSE successful does not change the model
E_FAIL an error is decteted S_NOSTATUS status cannot be given
o TestAttrKey
public virtual CATBoolean TestAttrKey( const CATISpecAttrKey* iKey) const = 0
Determines whether the key exists on this feature.
Parameters:
iKey
access key to attribute.
Returns:
TRUE if an attribute with the given key belongs to the feature.
o TestAttributeValue
public virtual CATBoolean TestAttributeValue( const CATISpecAttrKey* iKey) const = 0
Determines whether the attribute is assigned a value.
NB: for lists, the list is valuated as soon as a single value is assigned.
Parameters:
iKey
access key to attribute.
Returns:
TRUE if the attribute has been valuated.
o TestFinalAttributeValue
public virtual CATBoolean TestFinalAttributeValue( const CATISpecAttrKey* iKey,
int iIndex=0) const = 0
Tests if the attribute at the end of an attribute-attribute link (or chain of links) is valuated.
NB : this is NOT a version of TestAttribute for lists. Using this on an attribute of type list that does not contain an attr-attr link at the provided index is equivalent to TestAttribute(iKey), i.e. it will only tell you if the list as a whole is valuated.
Parameters:
iKey
key of the attribute.
iIndex
index in the list. Lists start at 1.
Returns:
TRUE if it is valuated.
o UnsetAttributeValue
public virtual HRESULT UnsetAttributeValue( const CATISpecAttrKey* iKey) = 0
Unsets the attribute value. The attribute is then marked as unset, unlike RemoveAll.
Subsequent Gets on the attribute will return 0.
Parameters:
iKey
access key to attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_NOLOCALVALUE
E_KEYNOTFOUND
o UnsetPrivate
public virtual HRESULT UnsetPrivate(CATISpecAttrKey* iKey) = 0
Marks the component (or lists of components) of this object, pointed by the given attribute, as public.
This is the default state of a component; there is no need to explicitely mark a component as public if you have not made it private before.
WARNING : use of this method is discouraged as it may cause severe side effects.
Parameters:
iKey
access key to attribute.
Returns:
S_OK successful
S_FALSE successful does not change the model
E_NOLOCALVALUE
E_KEYNOTFOUND
See also:
SetPrivate
o Update
public virtual HRESULT Update( const CATISpecAttrKey* iKey) = 0
Update the content of attribute iKey according to its quality and update rules.
Parameters:
iKey
The attribute key.
Returns:
S_OK if update succeeded.
E_FAIL if update failed.
See also:
CATIOsmUpdate

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

Copyright © 2003, Dassault Systèmes. All rights reserved.