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...
 
const std::string & getDatasetName () const
 It returns the name of the propery's dataset. 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, const std::string &dsName="")
 It initializes a new Property. More...
 
 Property (const Property &rhs)
 Copy constructor. More...
 
void setDatasetName (const std::string &dsName)
 It sets the property name. 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

std::string m_datasetName
 The property's dataset name. More...
 
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,
const std::string &  dsName = "" 
)

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 42 of file Property.cpp.

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

Virtual destructor.

Definition at line 89 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::dt::DateTimeProperty, te::rst::RasterProperty, te::gm::GeometryProperty, te::dt::SimpleProperty, te::dt::StringProperty, 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::sa::SkaterOperation::createDataSetType(), te::sa::BayesGlobalOperation::createDataSetType(), te::sa::BayesLocalOperation::createDataSetType(), te::vp::IntersectionMemory::createDataSetType(), te::sa::KernelOperation::createDataSetType(), te::sa::GeneralizedProximityMatrix::createDataSetType(), te::sa::MinimumSpanningTree::createGraph(), 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::vp::MultipartToSinglepart::getOutDst(), te::attributefill::VectorToVectorMemory::getOutputDataSetType(), 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::IntersectionQuery::run(), and te::vp::AggregationQuery::run().

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

It returns the name of the propery's dataset.

Returns
The the propery's dataset name.

Definition at line 144 of file Property.h.

Referenced by te::da::GetOIDDatasetProps().

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

Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::DataSourceGraphMetadata::addEdgeProperty(), te::ado::Transactor::addForeignKey(), te::pgis::Transactor::addForeignKey(), te::sa::AddGraphEdgeAttribute(), te::sa::AddGraphVertexAttribute(), 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::vp::PolygonToLineOp::buildOutDataSetType(), te::vp::LineToPolygonOp::buildOutDataSetType(), te::sa::KernelMapOperation::buildTree(), te::sa::KernelRatioOperation::buildTree(), te::da::DataSourceCatalog::checkFKsDependency(), te::da::DataSourceCatalog::checkSequenceDependency(), 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(), te::sa::GeneralizedProximityMatrix::createDataSetType(), DataSetAdapterLayerReader(), DataSetAdapterLayerWriter(), te::qt::widgets::DataSetOptionsWizardPage::datasetPressed(), te::da::DataSetType::DataSetType(), te::da::DataSetTypeConverter::DataSetTypeConverter(), te::qt::widgets::DataSetDisplay::draw(), te::map::QueryLayerRenderer::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::DataExchangerWizard::exchange(), 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(), generateLayer(), te::ado::Transactor::getCheckConstraints(), te::pgis::Transactor::getConstraints(), terralib4::Transactor::getDataSetType(), te::sa::GPMWeightsAbstractStrategy::getDistanceAttributeIndex(), te::da::GetEmptyOIDSet(), te::sqlite::DataSourceCatalogLoader::getGeometryInfo(), te::pgis::Transactor::getGeometryInfo(), te::sa::GeneralizedProximityMatrix::getGPMPropertyMap(), te::sa::GetGraphEdgeAttrIndex(), te::sa::GetGraphVertexAttrIndex(), 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::qt::widgets::ClippingWizardPage::getLayerClipping(), te::attributefill::VectorToVectorMemory::getOutputDataSetType(), te::sqlite::DataSourceCatalogLoader::getPrimaryKey(), te::ado::Transactor::getPrimaryKey(), te::ado::Transactor::getProperties(), te::pgis::Transactor::getPropertyId(), te::da::GetPropertyInfo(), te::attributefill::VectorToVectorMemory::getPropertyName(), te::stmem::Transactor::getPropertyNames(), te::da::GetPropertyPos(), te::pgis::Transactor::getRasterInfo(), te::map::QueryLayer::getSchema(), 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::edit::FeatureAttributesDialog::initialize(), 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::sa::SpatialStatisticsDialog::onOkPushButtonClicked(), te::qt::widgets::DataPropertiesDialog::onOkPushButtonClicked(), te::qt::widgets::ROIManagerWidget::onPointPicked(), te::attributefill::RasterToVectorDialog::onRasterComboBoxChanged(), 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::PolygonToLineMemory::run(), te::vp::LineToPolygonMemory::run(), te::vp::AggregationQuery::run(), te::vp::IntersectionQuery::run(), te::vp::BufferQuery::run(), te::vp::AggregationMemory::run(), te::attributefill::VectorToRaster::run(), te::attributefill::RasterToVector::run(), te::addressgeocoding::AddressGeocodingOp::run(), te::attributefill::VectorToVectorMemory::run(), te::serialize::xml::Save(), te::qt::widgets::DataSetOptionsWizardPage::set(), te::qt::widgets::PropertyConverterDialog::set(), te::attributefill::VectorToVectorDialog::setFunctionsByLayer(), 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 161 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::vp::MultipartToSinglepart::getOutDst(), te::attributefill::VectorToVectorMemory::getOutputDataSetType(), 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::sa::SpatialStatisticsDialog::onOkPushButtonClicked(), te::qt::widgets::DataSetTableView::retypeColumn(), te::attributefill::VectorToVectorMemory::run(), te::graph::DataSourceGraphMetadata::saveProperty(), te::vp::GeometricOpMemory::SetAggregByAttribute(), te::pgis::SetColumnDef(), and te::attributefill::VectorToVectorDialog::setFunctionsByLayer().

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 51 of file Property.cpp.

References m_datasetName, m_id, m_name, and m_type.

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

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

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.

Member Data Documentation

std::string te::dt::Property::m_datasetName
protected

The property's dataset name.

Definition at line 208 of file Property.h.

Referenced by operator=().

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

An identification number that can be used internally.

Definition at line 205 of file Property.h.

Referenced by operator=().

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

The property name.

Definition at line 207 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 204 of file Property.h.

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

The property data type.

Definition at line 206 of file Property.h.

Referenced by operator=().


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