Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

amire::property::PropertyType Class Reference

Inheritance diagram for amire::property::PropertyType:

amire::persistence::ExistingStructPlaceHolderType amire::persistence::VectorPlaceHolderType amire::property::NativePropertyType amire::property::StructPropertyType amire::property::VectorPropertyType List of all members.

Public Types

enum  Kind {
  REFERENCE_PROPERTY = 0, NATIVE_PROPERTY, BOOLEAN_PROPERTY, INTEGER_PROPERTY,
  FLOAT_PROPERTY, DOUBLE_PROPERTY, CHAR_PROPERTY, STRING_PROPERTY,
  STRUCT_PROPERTY, VECTOR_PROPERTY
}

Public Member Functions

virtual ~PropertyType ()
virtual bool isTypeOf (const osg::ref_ptr< const PropertyType > &type) const
virtual osg::ref_ptr< PropertynewInstance () const
PropertyType::Kind getKind () const
const std::string & getName () const
PropertyTypeManagergetPropertyTypeManager () const
const std::string & getLibrary () const
void setLibrary (const std::string &libraryName)

Protected Member Functions

 PropertyType (const std::string &name, PropertyType::Kind kind, PropertyTypeManager *propertyTypeManager)

Protected Attributes

Kind kind
PropertyTypeManagerpropertyTypeManager
std::string name
std::string libraryName

Friends

class AMIRE_EXPORT_API PropertyTypeManager

Detailed Description

An instance of the class PropertyType describes the type of a property. The description is done by the kind of the property type. Available property basic kinds:
REFERENCE_PROPERTY describes the reference property type, which doesn’t require any further type description.
BOOLEAN_PROPERTY describes the boolean property type, which doesn’t require any further type description.
CHAR_PROPERTY describes the character property type, which doesn’t require any further type description.
INTEGER_PROPERTY describes the integer property type, which doesn’t require any further type description.
FLOAT_PROPERTY describes the float type, which doesn’t require any further type description.
DOUBLE_PROPERTY describes the double property type, which doesn’t require any further type description.
STRING_PROPERTY describes the string property type, which doesn’t require any further type description.
STRUCT_PROPERTY describes the reference property type, which requires further type description containing the field names and types.
VECTOR_PROPERTY describes the reference property type, which requires further type description containing the property type of the vector property type.


Member Enumeration Documentation

enum amire::property::PropertyType::Kind
 

Enumeration values:
REFERENCE_PROPERTY 
NATIVE_PROPERTY 
BOOLEAN_PROPERTY 
INTEGER_PROPERTY 
FLOAT_PROPERTY 
DOUBLE_PROPERTY 
CHAR_PROPERTY 
STRING_PROPERTY 
STRUCT_PROPERTY 
VECTOR_PROPERTY 


Constructor & Destructor Documentation

virtual amire::property::PropertyType::~PropertyType  )  [virtual]
 

amire::property::PropertyType::PropertyType const std::string &  name,
PropertyType::Kind  kind,
PropertyTypeManager propertyTypeManager
[protected]
 


Member Function Documentation

PropertyType::Kind amire::property::PropertyType::getKind  )  const [inline]
 

Returns the kind of property type

const std::string& amire::property::PropertyType::getLibrary  )  const
 

Returns the library, which is responsible for the creation of this property type. This could be a dynamically linked library, a XML base composed component library, a composed component or any other producer of property types. An empty string identifies the application itselt as producer.

const std::string& amire::property::PropertyType::getName  )  const [inline]
 

Returns the name of this property type.

PropertyTypeManager* amire::property::PropertyType::getPropertyTypeManager  )  const [inline]
 

Returns the property type manager to which this property type belongs.

virtual bool amire::property::PropertyType::isTypeOf const osg::ref_ptr< const PropertyType > &  type  )  const [virtual]
 

Returns true when the given property type is the same property type as this one or a base property type of this one. Otherwise false is returned.

Reimplemented in amire::property::StructPropertyType, and amire::property::VectorPropertyType.

virtual osg::ref_ptr<Property> amire::property::PropertyType::newInstance  )  const [virtual]
 

Returns a new property instance, which belongs to this property type.

Reimplemented in amire::property::NativePropertyType, and amire::property::VectorPropertyType.

void amire::property::PropertyType::setLibrary const std::string &  libraryName  ) 
 

Sets the library, which is responsible for the creation of this property type. This could be a dynamically linked library, a XML base composed component library, a composed component or any other producer of property types. An empty string identifies the application itselt as producer. This method is limited to internal use and should not be used by component or authoring tool developers.


Friends And Related Function Documentation

friend class AMIRE_EXPORT_API PropertyTypeManager [friend]
 

Reimplemented in amire::property::VectorPropertyType.


Member Data Documentation

Kind amire::property::PropertyType::kind [protected]
 

std::string amire::property::PropertyType::libraryName [protected]
 

std::string amire::property::PropertyType::name [protected]
 

PropertyTypeManager* amire::property::PropertyType::propertyTypeManager [mutable, protected]
 


The documentation for this class was generated from the following file:
Generated on Tue May 20 17:23:58 2003 for AMIRE-Framework by doxygen1.3