ALBA
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
albaAttribute Class Reference

#include <albaAttribute.h>

Inheritance diagram for albaAttribute:
Inheritance graph
[legend]
Collaboration diagram for albaAttribute:
Collaboration graph
[legend]

Public Member Functions

 albaAbstractTypeMacro (albaAttribute, albaReferenceCounted)
 
void operator= (const albaAttribute &a)
 
bool operator== (const albaAttribute &a) const
 
virtual void DeepCopy (const albaAttribute *a)
 
albaAttributeMakeCopy ()
 
bool Equals (const albaAttribute *a) const
 
void SetName (const char *name)
 
const char * GetName () const
 
albaObjectNewObjectInstance () const
 
albaAttributeNewInstance () const
 
virtual void Print (std::ostream &os, const int tabs=0) const
 
- Public Member Functions inherited from albaReferenceCounted
 albaReferenceCounted ()
 
virtual ~albaReferenceCounted ()
 
 albaAbstractTypeMacro (albaReferenceCounted, albaObject)
 
virtual void Delete ()
 
void Register (void *obj)
 
virtual void UnRegister (void *obj)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
- Public Member Functions inherited from albaObject
 albaObject ()
 
virtual ~albaObject ()
 
virtual void Delete ()
 
virtual const char * GetTypeName () const
 
virtual bool IsA (const char *type_name) const
 
virtual bool IsA (const albaTypeID &type_id) const
 
virtual albaObjectNewObjectInstance () const =0
 
virtual const albaTypeIDGetTypeId () const
 
virtual void Print (std::ostream &os, const int indent=0) const
 
 albaObject (const albaObject &c)
 
- Public Member Functions inherited from albaStorable
 albaStorable ()
 
int Store (albaStorageElement *element)
 
int Restore (albaStorageElement *element)
 
albaObjectCastToObject ()
 
bool IsStorable ()
 

Protected Member Functions

virtual int InternalStore (albaStorageElement *parent)
 
virtual int InternalRestore (albaStorageElement *node)
 
virtual int InternalStore (albaStorageElement *node)=0
 
virtual int InternalRestore (albaStorageElement *node)=0
 

Protected Attributes

albaString m_Name
 
- Protected Attributes inherited from albaReferenceCounted
int m_ReferenceCount
 
- Protected Attributes inherited from albaObject
bool m_HeapFlag
 
- Protected Attributes inherited from albaStorable
bool m_Storable
 

Additional Inherited Members

- Static Public Member Functions inherited from albaObject
static const char * GetStaticTypeName ()
 
static bool IsStaticType (const char *type_name)
 
static bool IsStaticType (const albaTypeID &type_id)
 
static const albaTypeIDGetStaticTypeId ()
 
static albaObjectSafeDownCast (albaObject *o)
 
- Static Public Member Functions inherited from albaStorable
static albaStorableSafeCastToObject (albaObject *o)
 

Detailed Description

An abstract class for objects representing an attribute for albaVMEs.

This abstract class represent the interface of an attribute for albaVMEs. An attribute is a bunch of data that can be attached to a node. Attributes can be specialized classes providing any kind of information and functionality. The minimal required features are RTTI, object factory registration and Storability. Any attribute can be serialized and then recreated from the factory and unserialized.

See also
albaVME albaStorable albaObject

Definition at line 33 of file albaAttribute.h.

Member Function Documentation

◆ albaAbstractTypeMacro()

albaAttribute::albaAbstractTypeMacro ( albaAttribute  ,
albaReferenceCounted   
)

◆ operator=()

void albaAttribute::operator= ( const albaAttribute a)

attributes must define a copy rule

◆ operator==()

bool albaAttribute::operator== ( const albaAttribute a) const

◆ DeepCopy()

virtual void albaAttribute::DeepCopy ( const albaAttribute a)
virtual

copy the content of the given attribute.

Attributes must be type compatible

Reimplemented in albaAttributeTraceability, albaTagArray, mmaApplicationLayout, mmaMaterial, and mmaVolumeMaterial.

◆ MakeCopy()

albaAttribute * albaAttribute::MakeCopy ( )

create a copy of this attribute

◆ Equals()

bool albaAttribute::Equals ( const albaAttribute a) const

return true if this attribute equals the given one

◆ SetName()

void albaAttribute::SetName ( const char *  name)

Set the name of this attribute.

this is typically used to identify it inside the Attributes associative map stored inside a albaVME

◆ GetName()

const char * albaAttribute::GetName ( ) const

◆ NewObjectInstance()

albaObject * albaAttribute::NewObjectInstance ( ) const
inlinevirtual

defined to allow the definition of MakeCopy().

For albaAttribute abstract base class return NULL

Implements albaObject.

Definition at line 59 of file albaAttribute.h.

◆ NewInstance()

albaAttribute * albaAttribute::NewInstance ( ) const
inline

defined to allow the definition of MakeCopy().

For albaAttribute abstract base class return NULL

Definition at line 61 of file albaAttribute.h.

References albaObject::NewObjectInstance(), and albaObject::SafeDownCast().

Here is the call graph for this function:

◆ Print()

virtual void albaAttribute::Print ( std::ostream &  os,
const int  tabs = 0 
) const
virtual

dump the object to output stream

Reimplemented from albaObject.

Reimplemented in albaTagArray, mmaMaterial, and mmaVolumeMaterial.

◆ InternalStore()

virtual int albaAttribute::InternalStore ( albaStorageElement node)
protectedvirtual

This is called by Store() and must be reimplemented by subclasses.

The node element where the object should store itself is passed as argument.

Implements albaStorable.

Reimplemented in albaAttributeTraceability, albaTagArray, mmaApplicationLayout, mmaMaterial, and mmaVolumeMaterial.

◆ InternalRestore()

virtual int albaAttribute::InternalRestore ( albaStorageElement node)
protectedvirtual

This is called by Restore() and must be reimplemented by subclasses The element from which the object should restore itself is passed as argument.

Implements albaStorable.

Reimplemented in albaAttributeTraceability, albaTagArray, mmaApplicationLayout, mmaMaterial, and mmaVolumeMaterial.

Member Data Documentation

◆ m_Name

albaString albaAttribute::m_Name
protected

Definition at line 70 of file albaAttribute.h.


The documentation for this class was generated from the following file: