API Guides > ConceptRT 3.x
ConceptMultipleLink< ElementType > Class Template Reference

Concept multiple link. More...

Detailed Description

template<class ElementType>
class ConceptRT::ConceptMultipleLink< ElementType >

Concept multiple link.

Template Parameters
ElementTypeBase type of the linked elements. Linked elements are or inherited from ElementType type.
+ Inheritance diagram for ConceptMultipleLink< ElementType >:

Public Member Methods

BaseConceptFactoryGetFactory () const
 Gets the ConceptElement factory. More...
 
void Invoke (const DynamicInvocationRequest &request, DynamicInvocationResult &result)
 Invokes the object fields and methods. More...
 
 ConceptMultipleLink ()
 Default constructor. More...
 
 ConceptMultipleLink (const ConceptMultipleLink &right)
 Default constructor. More...
 
ConceptMultipleLinkoperator= (const ConceptMultipleLink &right)
 Assignment operator. More...
 
bool IsValidReference () const
 Query if this object is valid reference. More...
 
bool AllValidReferences () const
 Query if this object has all valid references. More...
 
bool HasValidReferences () const
 Query if this object has valid references. More...
 
IReferenceList< ElementType > & GetReferences ()
 Gets the references. More...
 
void AddReference (ElementType &reference)
 Adds a reference. More...
 
void ReleaseReference ()
 Releases the reference. More...
 
bool IsLinkedTo (const ConceptElement &element) const
 Query if 'element' is linked to. More...
 
bool CanAccept (ConceptElement &element) const
 Queries if we can accept 'element' as linked object. More...
 
void ResolveLinks ()
 Resolve links. 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...
 
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 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...
 

Static Public Member Functions

static BaseConceptFactoryGetClassFactory ()
 Get the class factory. 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

ConceptMultipleLink ( )
inline

Default constructor.

ConceptMultipleLink ( const ConceptMultipleLink< ElementType > &  right)

Default constructor.

Parameters
rightThe right.

Methods Documentation

void AddReference ( ElementType &  reference)

Adds a reference.

Parameters
reference[in,out] The reference.
bool AllValidReferences ( ) const

Query if this object has all valid references.

Returns
true if all valid, false if not.
bool CanAccept ( ConceptElement element) const
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.

Implements ConceptLink.

static BaseConceptFactory& GetClassFactory ( )
inlinestatic

Get the class factory.

Returns
The class factory.
BaseConceptFactory& GetFactory ( ) const
inlinevirtual

Gets the ConceptElement factory.

Returns
The factory.
RT Exceptions:
RT_ERROR_INTERNAL_FACTORY_NOT_DEFINED

Implements ConceptElement.

IReferenceList< ElementType > & GetReferences ( )

Gets the references.

Returns
The references.
Version
Since 3.4 Return a IReferenceList instead of ReferenceListDynamic.
bool HasValidReferences ( ) const

Query if this object has valid references.

Returns
true if valid references, false if not.
void Invoke ( const DynamicInvocationRequest request,
DynamicInvocationResult result 
)
inlinevirtual

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.

Reimplemented from BaseConceptMultipleLink.

bool IsLinkedTo ( const ConceptElement element) const
virtual

Query if 'element' is linked to.

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

Implements ConceptLink.

bool IsValidReference ( ) const

Query if this object is valid reference.

Returns
true if valid reference, false if not.
ConceptMultipleLink< ElementType > & operator= ( const ConceptMultipleLink< ElementType > &  right)

Assignment operator.

Parameters
rightThe right.
Returns
A shallow copy of this object.
void ReleaseReference ( )
virtual

Releases the reference.

Implements ConceptLink.

void ResolveLinks ( )
virtual