te::dt::SimpleProperty Class Reference

An atomic property like an integer or double. More...

#include <SimpleProperty.h>

Inheritance diagram for te::dt::SimpleProperty:
te::dt::Property te::dt::ArrayProperty te::dt::BitProperty te::dt::ByteArrayProperty te::dt::DateTimeProperty te::dt::NumericProperty te::dt::StringProperty te::gm::GeometryProperty te::rst::RasterProperty

Public Member Functions

virtual Propertyclone () const
 It returns a clone of the object. More...
 
const std::string & getDatasetName () const
 It returns the name of the propery's dataset. More...
 
std::string * getDefaultValue () const
 It returns the default value associated to the property, or NULL if none is associated. More...
 
unsigned int getId () const
 It returns the property identifier. More...
 
const std::string & getName () const
 It returns the property name. More...
 
PropertygetParent () const
 It returns the parent of this property, or NULL, if it doesn't have one. More...
 
int getType () const
 It returns the property data type. More...
 
bool has (Property *p) const
 It checks if the Property "p" is associated to this property or any other parent. More...
 
bool isAutoNumber () const
 It returns true if the attribute is an autonumber, otherwise it returns false. More...
 
bool isRequired () const
 It returns true if the attribute is required, otherwise it returns false. More...
 
SimplePropertyoperator= (const SimpleProperty &rhs)
 Assignment operator. More...
 
void setAutoNumber (bool a)
 It tells if the property is an autonumber or not. More...
 
void setDatasetName (const std::string &dsName)
 It sets the property name. More...
 
void setDefaultValue (std::string *d)
 It sets the default value associated to the property, or NULL if none is associated. More...
 
void setId (unsigned int id)
 It sets the property identifier. More...
 
void setName (const std::string &name)
 It sets the property name. More...
 
void setParent (Property *p)
 It associate this property to the informed parent. More...
 
void setRequired (bool r)
 It tells if the property is required or not. More...
 
 SimpleProperty (const std::string &name, int datatype, bool isRequired=false, std::string *defaultValue=0, unsigned int id=0, Property *parent=0)
 It constructs a new simple property. More...
 
 SimpleProperty (const SimpleProperty &rhs)
 Copy constructor. More...
 
virtual ~SimpleProperty ()
 Destructor. More...
 

Protected Attributes

std::string m_datasetName
 The property's dataset name. More...
 
std::string * m_defaultValue
 Default value. More...
 
unsigned int m_id
 An identification number that can be used internally. More...
 
bool m_isAutoNumber
 A flag that indicates if this is an autonumber or serial type. More...
 
bool m_isRequired
 This flag indicates if the attribute is required or not. More...
 
std::string m_name
 The property name. More...
 
Propertym_parent
 The parent property type: it must be a CompositeProperty. More...
 
int m_type
 The property data type. More...
 

Detailed Description

An atomic property like an integer or double.

See also
Property, CompositeProperty, NumericProperty, StringProperty, ArrayProperty, DateTimeProperty

Definition at line 47 of file SimpleProperty.h.

Constructor & Destructor Documentation

te::dt::SimpleProperty::SimpleProperty ( const std::string &  name,
int  datatype,
bool  isRequired = false,
std::string *  defaultValue = 0,
unsigned int  id = 0,
Property parent = 0 
)

It constructs a new simple property.

Parameters
nameThe simple property name.
datatypeThe property data type.
isRequiredTells if the the property is required (mandatory) or not.
defaultValueThe default value to be used or NULL if none is informed.
idThe property identifier.
parentA reference to the parent Property of the new object if it has one.
Postcondition
The simple property will take the ownership of the default value.
Warning
The identifier value (id) may be used by data source implementations. So, don't rely on its value!
By default, a simple property is not an autonumber (or serial).
te::dt::SimpleProperty::SimpleProperty ( const SimpleProperty rhs)

Copy constructor.

Parameters
rhsThe right-hand-side copy used to copy from.
virtual te::dt::SimpleProperty::~SimpleProperty ( )
virtual

Destructor.

Member Function Documentation

virtual Property* te::dt::SimpleProperty::clone ( ) const
virtual

It returns a clone of the object.

For a simple type, this method will not preserve the parent Property pointer.

Returns
A clone of the object.

Implements te::dt::Property.

Reimplemented in te::dt::DateTimeProperty, te::rst::RasterProperty, te::gm::GeometryProperty, te::dt::StringProperty, te::dt::NumericProperty, te::dt::ArrayProperty, te::dt::ByteArrayProperty, and te::dt::BitProperty.

const std::string& te::dt::Property::getDatasetName ( ) const
inlineinherited

It returns the name of the propery's dataset.

Returns
The the propery's dataset name.

Definition at line 144 of file Property.h.

std::string* te::dt::SimpleProperty::getDefaultValue ( ) const
inline

It returns the default value associated to the property, or NULL if none is associated.

Returns
The default value associated to the property, or NULL if none is associated.
Note
The caller of this method will not take the ownership of the given string.

Definition at line 127 of file SimpleProperty.h.

unsigned int te::dt::Property::getId ( ) const
inlineinherited

It returns the property identifier.

Returns
A number used to identify the property.
Warning
The identifier value may be used by data source implementations. So, don't rely on its value!

Definition at line 109 of file Property.h.

const std::string& te::dt::Property::getName ( ) const
inlineinherited

It returns the property name.

Returns
The property name.
Note
For DataSetTypes the name can have namespace prefix or schema name prefix, it will depend on the data source implementation.

Definition at line 127 of file Property.h.

Property* te::dt::Property::getParent ( ) const
inlineinherited

It returns the parent of this property, or NULL, if it doesn't have one.

Returns
The parent of this property, or NULL, if it doesn't have one.

Definition at line 168 of file Property.h.

int te::dt::Property::getType ( ) const
inlineinherited

It returns the property data type.

Returns
The property data type.

Definition at line 161 of file Property.h.

Referenced by te::dt::CompositeProperty::findFirstPropertyOfType().

bool te::dt::SimpleProperty::has ( Property p) const
virtual

It checks if the Property "p" is associated to this property or any other parent.

This method can be used to ask if a given Property belongs to a more complex type (like: CompositeProperty or DataSetType).

Parameters
pThe Property we are checking.
Returns
True if the given Property "p" is associated to to this Property, otherwise, returns false.

Implements te::dt::Property.

bool te::dt::SimpleProperty::isAutoNumber ( ) const
inline

It returns true if the attribute is an autonumber, otherwise it returns false.

Returns
True if the attribute is an autonumber, otherwise it returns false.

Definition at line 111 of file SimpleProperty.h.

bool te::dt::SimpleProperty::isRequired ( ) const
inline

It returns true if the attribute is required, otherwise it returns false.

Returns
True if the attribute is required, otherwise it returns false.

Definition at line 97 of file SimpleProperty.h.

SimpleProperty& te::dt::SimpleProperty::operator= ( const SimpleProperty rhs)

Assignment operator.

Parameters
rhsThe right-hand-side copy used to copy from.
Returns
A reference to this object.
void te::dt::SimpleProperty::setAutoNumber ( bool  a)
inline

It tells if the property is an autonumber or not.

Parameters
aIf true the property is marked as an autonumber (serial), otherwise it is not.

Definition at line 118 of file SimpleProperty.h.

Referenced by te::pgis::Convert2TerraLib().

void te::dt::Property::setDatasetName ( const std::string &  dsName)
inlineinherited

It sets the property name.

Parameters
nameThe new property name.
Warning
Take care when calling this method for a DataSetType associated to a DataSourceCatalog. Prefer using the rename method on the DataSourceCatalog API instead of using this method.

Definition at line 154 of file Property.h.

void te::dt::SimpleProperty::setDefaultValue ( std::string *  d)

It sets the default value associated to the property, or NULL if none is associated.

Parameters
dThe default value associated to the property, or NULL if none is associated.
Note
The SimpleProperty qill take the ownership of the given string.
void te::dt::Property::setId ( unsigned int  id)
inlineinherited

It sets the property identifier.

Parameters
idA number used to identify the property.
Warning
The identifier value may be used by data source implementations. So, don't rely on its value!

Definition at line 118 of file Property.h.

void te::dt::Property::setName ( const std::string &  name)
inlineinherited

It sets the property name.

Parameters
nameThe new property name.
Warning
Take care when calling this method for a DataSetType associated to a DataSourceCatalog. Prefer using the rename method on the DataSourceCatalog API instead of using this method.

Definition at line 137 of file Property.h.

void te::dt::Property::setParent ( Property p)
inlineinherited

It associate this property to the informed parent.

Parameters
pTeh parent property.
Warning
Don't use this method without knowing the internal details of its use.

Definition at line 177 of file Property.h.

void te::dt::SimpleProperty::setRequired ( bool  r)
inline

It tells if the property is required or not.

Parameters
rIf true the property is marked as required, otherwise it is not required.

Definition at line 104 of file SimpleProperty.h.

Member Data Documentation

std::string te::dt::Property::m_datasetName
protectedinherited

The property's dataset name.

Definition at line 208 of file Property.h.

std::string* te::dt::SimpleProperty::m_defaultValue
protected

Default value.

Definition at line 164 of file SimpleProperty.h.

unsigned int te::dt::Property::m_id
protectedinherited

An identification number that can be used internally.

Definition at line 205 of file Property.h.

bool te::dt::SimpleProperty::m_isAutoNumber
protected

A flag that indicates if this is an autonumber or serial type.

Definition at line 163 of file SimpleProperty.h.

bool te::dt::SimpleProperty::m_isRequired
protected

This flag indicates if the attribute is required or not.

Definition at line 162 of file SimpleProperty.h.

std::string te::dt::Property::m_name
protectedinherited

The property name.

Definition at line 207 of file Property.h.

Property* te::dt::Property::m_parent
protectedinherited

The parent property type: it must be a CompositeProperty.

Definition at line 204 of file Property.h.

int te::dt::Property::m_type
protectedinherited

The property data type.

Definition at line 206 of file Property.h.


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