API Guides > ConceptRT 3.x
ConceptLink Class Referenceabstract

Concept link. Base class for ConceptSingleLink and ConceptMultipleLink of ConceptRTModel. At Resolve links time, the links are resolved and links references are therefore set. More...

Detailed Description

Concept link. Base class for ConceptSingleLink and ConceptMultipleLink of ConceptRTModel. At Resolve links time, the links are resolved and links references are therefore set.

+ Inheritance diagram for ConceptLink:

Public Member Methods

const bool & GetMandatory () const
 Mandatory link flag (Default = True) More...
 
const bool & GetMandatory ()
 Mandatory link flag (Default = True) More...
 
void SetMandatory (const bool &value)
 Mandatory link flag (Default = True) More...
 
 ConceptLink ()
 Default constructor. More...
 
const PackedStringList< 1024, 16 > & GetReferentials () const
 Gets the referentials. More...
 
void SetReferentials (const Strings &referentials)
 Sets the referentials. More...
 
void AddReferential (const String referential)
 Adds a referential. More...
 
String LinkedItemPath (ConceptElement &element) const
 Process the Linked item path. More...
 
void Invoke (const DynamicInvocationRequest &request, DynamicInvocationResult &result)
 Invokes the object fields and methods. More...
 
void ReadFrom (IDataStore &dataStore, IMessageCollector *messages=NULL)
 Reads from. More...
 
void WriteTo (IDataStore &dataStore) const
 Writes to. More...
 
virtual void ReleaseReference ()=0
 Releases the reference. More...
 
virtual void Clear ()=0
 Clears the reference(s). More...
 
virtual bool IsLinkedTo (const ConceptElement &element) const =0
 Query if 'element' is linked to. More...
 
virtual bool CanAccept (ConceptElement &element) const =0
 Queries if we can accept 'element' as linked object. More...
 
- Public Member Methods inherited from ConceptElement
const bool & GetIsInvocable () const
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsInvocable ()
 Controls if the objet should be shown in the invocation. More...
 
void SetIsInvocable (const bool &value)
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsSerialized () const
 Controls if the objet should be serialized. More...
 
const bool & GetIsSerialized ()
 Controls if the objet should be serialized. More...
 
void SetIsSerialized (const bool &value)
 Controls if the objet should be serialized. More...
 
 ConceptElement ()
 Default constructor. More...
 
 ConceptElement (const ConceptElement &right)
 Default constructor. More...
 
ConceptElementoperator= (const ConceptElement &right)
 Assignment operator. More...
 
const StaticString< ConceptElementNameMaxLength > & GetName () const
 Gets the name. More...
 
void SetName (const PCChar8 name)
 Sets a name. More...
 
String GetPath () const
 Gets the path of the ConceptElement. More...
 
ConceptContainerGetContainer () const
 Gets the container of the ConceptElement. More...
 
template<class ContainerType >
ContainerType * GetContainerOfType () const
 Gets the container of a certain type the ConceptElement. More...
 
ConceptContainerGetRootContainer () const
 Gets the root container of the ConceptElement. More...
 
virtual const String GetDisplayName () const
 Gets the display name. More...
 
virtual void CopyDataFrom (const ConceptElement &source)
 Copies the data from another ConceptElement. More...
 
virtual void CopyFrom (const ConceptElement &source)
 Copies itself from a given source. More...
 
virtual BaseConceptFactoryGetFactory () const =0
 Gets the ConceptElement factory. More...
 
ConceptElementGetProvider () const
 Gets the provider of the ConceptElement if defined, throws a ConceptException otherwise. More...
 
template<class T >
T & GetProvider () const
 Gets the provider of the ConceptElement if defined and of type T, throws a ConceptException otherwise. More...
 
bool GetHasProvider () const
 Tests the existence of a provider. More...
 
template<class T >
bool GetHasProvider () const
 Tests the existence of a provider of type T. More...
 
virtual ConceptElementClone () const
 Makes a deep copy of this object. More...
 
virtual void ResolveLinks ()
 Resolve links. More...
 
virtual void RetrieveProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 Retrieve provided factories. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories)
 Retrieve provided factories. More...
 
virtual void RetrieveFactories (BaseConceptFactories &factories) const
 Retrieve factories. More...
 
Variant GetPropertyMetaData (PCChar8 propertyName, PCChar8 metaDataName, const Variant &defaultValue=Variant::GetVariantNull()) const
 Returns a metadata string corresponding to a property and a metadata name. More...
 
- Public Member Methods inherited from IVisitableContainer
virtual void Accept (IContainerVisitor &visitor)=0
 Accepts IContainerVisitor to access the object published fields. More...
 

Private fields

bool Mandatory
 Mandatory link flag (Default = True) More...
 

Additional Inherited Members

- Protected Member Functions inherited from ConceptElement
void Initialize ()
 Initializes this object. More...
 
virtual BaseConceptFactoryInternalGetFactory () const
 Gets the object factory. More...
 
virtual void RetrieveElementProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 RetrieveElementProvidedFactories. Used by the macro CONCEPT_PROVIDED_COMPONENT_BEGIN More...
 

Constructor & Destructor Documentation

Default constructor.

Methods Documentation

void AddReferential ( const String  referential)

Adds a referential.

Parameters
referentialThe referential.
virtual bool CanAccept ( ConceptElement element) const
pure virtual

Queries if we can accept 'element' as linked object.

Parameters
element[in,out] The element.
Returns
true if it succeeds, false if it fails.

Implemented in ConceptMultipleLink< ElementType >, and ConceptSingleLink< ElementType >.

virtual void Clear ( )
pure virtual

Clears the reference(s).

Implemented in BaseConceptSingleLink, and BaseConceptMultipleLink.

const bool & GetMandatory ( )
inline

Mandatory link flag (Default = True)

If the flag is enable ResolveLinks will generate an exception.

Returns
the property value
See also
Field: Mandatory
Setter: SetMandatory()
const bool & GetMandatory ( ) const
inline

Mandatory link flag (Default = True)

If the flag is enable ResolveLinks will generate an exception.

Returns
the property value
See also
Field: Mandatory
Setter: SetMandatory()
const PackedStringList< 1024 , 16 >& GetReferentials ( ) const

Gets the referentials.

Returns
The referentials.
void Invoke ( const DynamicInvocationRequest request,
DynamicInvocationResult result 
)
virtual

Invokes the object fields and methods.

Parameters
requestThe request.
result[in,out] The result.

Dynamic Invocation on IInvocable objects enables us to have remote access on published fields and methods.

Implements ConceptElement.

Reimplemented in ConceptMultipleLink< ElementType >, and BaseConceptMultipleLink.

virtual bool IsLinkedTo ( const ConceptElement element) const
pure virtual

Query if 'element' is linked to.

Parameters
elementThe element.
Returns
true if linked to, false if not.

Implemented in ConceptMultipleLink< ElementType >, and BaseConceptSingleLink.

String LinkedItemPath ( ConceptElement element) const

Process the Linked item path.

Parameters
element[in,out] The element.
Returns
the path of the element from the link object situation.
void ReadFrom ( IDataStore dataStore,
IMessageCollector messages = NULL 
)
virtual

Reads from.

Parameters
dataStore[in,out] The dataStore.
messages[in,out] (optional) The messageCollector to collect warning or error messages. Default = NULL.

Implements ConceptElement.

Reimplemented in BaseConceptMultipleLink.

virtual void ReleaseReference ( )
pure virtual

Releases the reference.

Implemented in ConceptMultipleLink< ElementType >, and BaseConceptSingleLink.

void SetMandatory ( const bool &  value)
inline

Mandatory link flag (Default = True)

If the flag is enable ResolveLinks will generate an exception.

Parameters
[in]valueThe new parameter value.
Returns
the property value
See also
Field: Mandatory
Getter: GetMandatory()
void SetReferentials ( const Strings referentials)

Sets the referentials.

Parameters
referentialsThe referentials.
void WriteTo ( IDataStore dataStore) const
virtual

Writes to.

Parameters
dataStore[in,out] The dataStore.

Implements ConceptElement.

Reimplemented in BaseConceptMultipleLink.

Fields Documentation

bool Mandatory
private

Mandatory link flag (Default = True)

If the flag is enable ResolveLinks will generate an exception.

See also
Getter: GetMandatory()
Setter: SetMandatory()