All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::dt::Property Class Referenceabstract

It models a property definition. More...

#include <Property.h>

Inheritance diagram for te::dt::Property:
te::dt::CompositeProperty te::dt::SimpleProperty te::da::DataSetType te::graph::EdgeProperty te::graph::VertexProperty 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 =0
 It returns a clone of the object. 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...
 
virtual bool has (Property *p) const =0
 It checks if the Property "p" is associated to this property or any other parent. More...
 
Propertyoperator= (const Property &rhs)
 Assignment operator. More...
 
 Property (const std::string &name, int datatype, unsigned int id=0, Property *parent=0)
 It initializes a new Property. More...
 
 Property (const Property &rhs)
 Copy constructor. 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...
 
virtual ~Property ()
 Virtual destructor. More...
 

Protected Attributes

unsigned int m_id
 An identification number that can be used internally. 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

It models a property definition.

The class Property defines information about the values of a given property. This includes:

  • The data type associated to the property;
  • Any restrictions on the values of the property;
See also
SimpleProperty, CompositeProperty, NumericProperty, StringProperty, DateTimeProperty

Definition at line 59 of file Property.h.

Constructor & Destructor Documentation

te::dt::Property::Property ( const std::string &  name,
int  datatype,
unsigned int  id = 0,
Property parent = 0 
)

It initializes a new Property.

Parameters
nameThe Property name.
datatypeThe property data type.
idThe property identifier.
parentA reference to the parent Property of the new object.
Warning
The identifier value (id) may be used by data source implementations. So, don't rely on its value!

Definition at line 29 of file Property.cpp.

te::dt::Property::Property ( const Property rhs)

Copy constructor.

Parameters
rhsThe right-hand-side copy used to copy from.
Note
Copy constructor doesn't preserve parent relationship.

Definition at line 40 of file Property.cpp.

virtual te::dt::Property::~Property ( )
inlinevirtual

Virtual destructor.

Definition at line 88 of file Property.h.

Member Function Documentation

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

It returns a clone of the object.

The new Property may not have associations to other elements. For example, a DataSetType associated to a DataSourceCatalog when cloned will not have the clone associate to the same DataSourceCatalog.

Returns
A clone of the object.

Implemented in te::da::DataSetType, te::dt::CompositeProperty, te::rst::RasterProperty, te::gm::GeometryProperty, te::dt::SimpleProperty, te::dt::StringProperty, te::dt::DateTimeProperty, te::dt::NumericProperty, te::dt::ArrayProperty, te::dt::ByteArrayProperty, and te::dt::BitProperty.

Referenced by te::dt::CompositeProperty::add(), te::dt::ArrayProperty::ArrayProperty(), te::graph::QueryGraphBuilder::build(), te::dt::CompositeProperty::copy(), te::vp::IntersectionMemory::createDataSetType(), te::graph::DataSourceGraphMetadata::createGraphTableEdgeModel(), te::graph::DataSourceGraphMetadata::createVertexAttrTable(), te::graph::FlowGraphBuilder::createVertexObjects(), te::da::DataSetTypeConverter::DataSetTypeConverter(), te::qt::widgets::DirectExchangerDialog::exchangeToDatabase(), te::qt::widgets::PrimaryKeyConstraintWidget::getConstraint(), te::qt::widgets::UniqueKeyConstraintWidget::getConstraint(), te::vp::GeometricOp::GetDataSetType(), terralib4::Transactor::getDataSetType(), te::pgis::Transactor::getDataSetType(), te::qt::widgets::IndexWidget::getIndex(), te::stmem::Transactor::getProperties(), te::mem::DataSource::getProperty(), te::stmem::Transactor::getProperty(), te::map::QueryLayer::getSchema(), te::dt::new_clone(), te::dt::ArrayProperty::operator=(), te::vp::AggregationQuery::run(), and te::vp::IntersectionQuery::run().

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

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 108 of file Property.h.

Referenced by te::da::DataSetTypeConverter::DataSetTypeConverter(), te::pgis::Transactor::getConstraints(), te::pgis::Transactor::getIndexes(), te::pgis::Transactor::getPropertyId(), and te::serialize::xml::Save().

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

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 126 of file Property.h.

Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::DataSourceGraphMetadata::addEdgeProperty(), te::ado::Transactor::addForeignKey(), te::pgis::Transactor::addForeignKey(), te::ado::Transactor::addPrimaryKey(), te::mem::DataSource::addProperty(), te::ogr::Transactor::addProperty(), te::sqlite::DataSourceTransactor::addProperty(), te::ado::Transactor::addProperty(), terralib4::Transactor::addProperty(), te::pgis::Transactor::addProperty(), te::graph::AddRasterAttribute::AddRasterAttribute(), te::da::DataSourceCatalog::addRef(), te::pgis::Transactor::addSequence(), te::ado::Transactor::addUniqueKey(), te::graph::DataSourceGraphMetadata::addVertexProperty(), te::da::DataSourceCatalog::checkFKsDependency(), te::da::DataSourceCatalog::checkSequenceDependency(), te::qt::widgets::DataExchangerWizard::commit(), te::qt::plugins::terralib4::TL4ConverterWizard::commit(), te::qt::widgets::ConstraintWidget::ConstraintWidget(), te::ogr::Convert2OGR(), te::sqlite::Convert2SQLCreate(), te::da::Create(), te::da::CreateAdapter(), te::mem::DataSource::createDataSet(), te::gdal::Transactor::createDataSet(), te::ogr::Transactor::createDataSet(), te::sqlite::DataSourceTransactor::createDataSet(), te::ado::Transactor::createDataSet(), te::pgis::Transactor::createDataSet(), te::vp::IntersectionMemory::createDataSetType(), DataSetAdapterLayerReader(), DataSetAdapterLayerWriter(), te::qt::widgets::DataSetOptionsWizardPage::datasetPressed(), te::da::DataSetType::DataSetType(), te::da::DataSetTypeConverter::DataSetTypeConverter(), te::qt::widgets::DataSetDisplay::draw(), te::map::AbstractLayerRenderer::draw(), te::map::DrawGeometries(), te::map::DrawRaster(), te::da::DataSourceCatalog::dropDependentSequenceEntry(), te::da::DataSourceCatalog::dropDependentSequences(), te::ado::Transactor::dropProperty(), te::qt::widgets::DirectExchangerDialog::exchangeToDatabase(), te::qt::widgets::Selection::executeSelection(), te::qt::widgets::DataSetCategoryItem::fetchMore(), te::qt::widgets::DataSetGroupItem::fetchMore(), te::qt::widgets::DataSetAdapterWidget::fillDataSetTable(), te::ado::Transactor::getCheckConstraints(), te::pgis::Transactor::getConstraints(), terralib4::Transactor::getDataSetType(), te::da::GetEmptyOIDSet(), te::sqlite::DataSourceCatalogLoader::getGeometryInfo(), te::pgis::Transactor::getGeometryInfo(), te::sqlite::DataSourceCatalogLoader::getIndex(), te::sqlite::DataSourceCatalogLoader::getIndexes(), te::ado::Transactor::getIndexes(), te::pgis::Transactor::getIndexes(), te::qt::widgets::Info::getInfo(), te::qt::widgets::ClassifierWizardPage::getInputParams(), te::sqlite::DataSourceCatalogLoader::getPrimaryKey(), te::ado::Transactor::getPrimaryKey(), te::ado::Transactor::getProperties(), te::pgis::Transactor::getPropertyId(), te::da::GetPropertyInfo(), te::stmem::Transactor::getPropertyNames(), te::da::GetPropertyPos(), te::pgis::Transactor::getRasterInfo(), te::sqlite::DataSourceCatalogLoader::getSpatialIndexes(), te::da::GetSQLValueNames(), te::sqlite::DataSourceCatalogLoader::getUniqueKey(), te::sqlite::DataSourceCatalogLoader::getUniqueKeys(), te::ado::Transactor::getUniqueKeys(), te::da::DataSourceCatalog::indexFKs(), te::da::DataSourceCatalog::indexSequenceDependency(), te::qt::widgets::IndexWidget::IndexWidget(), te::ado::Transactor::insertIntoGeometryColumns(), te::qt::widgets::ChartLayerWidget::listAttributes(), te::qt::widgets::GroupingWidget::listAttributes(), te::da::LoadFull(), te::da::LoadProperties(), te::qt::widgets::GroupingWidget::onImportPushButtonClicked(), te::qt::widgets::DatapPropertiesWidget::onInputDataToolButtonTriggered(), te::qt::widgets::SHP2PostGISDialog::onOkPushButtonClicked(), te::qt::widgets::DataPropertiesDialog::onOkPushButtonClicked(), te::qt::widgets::ROIManagerWidget::onPointPicked(), te::qt::widgets::DataSet2Layer::operator()(), te::da::DataSourceCatalog::remove(), te::graph::DataSourceGraphMetadata::removeEdgeProperty(), te::da::DataSourceCatalog::removeRef(), te::graph::DataSourceGraphMetadata::removeVertexProperty(), te::da::DataSourceCatalog::rename(), te::qt::widgets::DataSetTableView::retypeColumn(), te::vp::IntersectionQuery::run(), te::vp::BufferQuery::run(), te::vp::AggregationQuery::run(), te::vp::AggregationMemory::run(), te::serialize::xml::Save(), te::qt::widgets::DataSetOptionsWizardPage::set(), te::qt::widgets::PropertyConverterDialog::set(), and terralib4::TableDataSet::TableDataSet().

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

It returns the property data type.

Returns
The property data type.

Definition at line 143 of file Property.h.

Referenced by te::ado::Transactor::addForeignKey(), te::ado::Transactor::addPrimaryKey(), te::mem::DataSource::addProperty(), te::ogr::Transactor::addProperty(), te::sqlite::DataSourceTransactor::addProperty(), te::ado::Transactor::addProperty(), terralib4::Transactor::addProperty(), te::pgis::Transactor::addProperty(), te::ado::Transactor::addUniqueKey(), te::ogr::Transactor::changePropertyDefinition(), te::graph::LayerRenderer::checkEdgeGeometryProperty(), te::da::DataSourceCatalog::checkSequenceDependency(), te::graph::LayerRenderer::checkVertexGeometryProperty(), te::qt::plugins::terralib4::TL4ConverterWizard::commit(), te::ogr::Convert2OGR(), te::da::CreateAdapter(), te::sqlite::DataSourceTransactor::createDataSet(), te::graph::DataSourceGraphMetadata::createGraphTableEdgeModel(), te::graph::DataSourceGraphMetadata::createVertexAttrTable(), te::da::DataSetTypeConverter::DataSetTypeConverter(), te::da::DataSourceCatalog::dropDependentSequenceEntry(), te::da::DataSourceCatalog::dropDependentSequences(), te::ado::Transactor::dropProperty(), te::qt::widgets::DataSetCategoryItem::fetchMore(), te::qt::widgets::DataSetGroupItem::fetchMore(), te::qt::widgets::DataSetAdapterWidget::fillDataSetTable(), te::dt::CompositeProperty::findFirstPropertyOfType(), te::sqlite::DataSourceCatalogLoader::getDataSetType(), te::da::GetEmptyOIDSet(), te::qt::widgets::WhereClauseWidget::getExpression(), te::da::GetFirstSpatialProperty(), te::pgis::Transactor::getProperties(), te::pgis::Transactor::getProperty(), te::pgis::Transactor::getPropertyId(), te::da::GetPropertyInfo(), te::sqlite::DataSourceCatalogLoader::getSpatialIndexes(), te::sqlite::GetSQLType(), te::pgis::GetSQLValue(), te::vp::IntersectionOp::getTabularProps(), te::da::DataSourceCatalog::indexSequenceDependency(), te::qt::widgets::ChartLayerWidget::listAttributes(), te::qt::widgets::GroupingWidget::listAttributes(), te::da::DataSetTypeConverter::needConverter(), te::qt::widgets::GroupingWidget::onImportPushButtonClicked(), te::qt::widgets::DataSetTableView::retypeColumn(), te::graph::DataSourceGraphMetadata::saveProperty(), te::vp::GeometricOpMemory::SetAggregByAttribute(), and te::pgis::SetColumnDef().

virtual bool te::dt::Property::has ( Property p) const
pure 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.

Implemented in te::dt::CompositeProperty, and te::dt::SimpleProperty.

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

Assignment operator.

Parameters
rhsThe right-hand-side copy used to copy from.
Returns
A reference to this object.
Note
Assignment operator doesn't preserve parent relationship.

Definition at line 48 of file Property.cpp.

References m_id, m_name, and m_type.

Referenced by te::dt::CompositeProperty::operator=(), and te::dt::SimpleProperty::operator=().

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

Member Data Documentation

unsigned int te::dt::Property::m_id
protected

An identification number that can be used internally.

Definition at line 187 of file Property.h.

Referenced by operator=().

std::string te::dt::Property::m_name
protected

The property name.

Definition at line 189 of file Property.h.

Referenced by operator=().

Property* te::dt::Property::m_parent
protected

The parent property type: it must be a CompositeProperty.

Definition at line 186 of file Property.h.

int te::dt::Property::m_type
protected

The property data type.

Definition at line 188 of file Property.h.

Referenced by operator=().


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