26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASETADAPTER_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASETADAPTER_H
30 #include "../../common/Holder.h"
31 #include "../Config.h"
43 class DataSourceCapabilities;
81 std::unique_ptr<te::gm::Envelope>
getExtent(std::size_t i);
141 std::unique_ptr<te::gm::Geometry>
getGeometry(std::size_t i)
const;
143 std::unique_ptr<te::rst::Raster>
getRaster(std::size_t i)
const;
145 std::unique_ptr<te::dt::DateTime>
getDateTime(std::size_t i)
const;
147 std::unique_ptr<te::dt::Array>
getArray(std::size_t i)
const;
165 void add(
const std::string& newPropertyName,
167 const std::vector<std::size_t>& adaptedPropertyPos,
Definition of attribute converter and a set of them.
void add(const std::string &newPropertyName, int newPropertyType, const std::vector< std::size_t > &adaptedPropertyPos, AttributeConverter conv)
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
DataSetAdapter(DataSet *dataset, bool isOwner=false)
Constructor.
std::string getPropertyName(std::size_t pos) const
It returns the property name at position pos.
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
std::unique_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
std::vector< int > m_datatypes
The datatype for each property.
bool moveFirst()
It moves the internal pointer to the first item in the collection.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
std::vector< AttributeConverter > m_converters
A vector that stores the attribute converters functions.
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
bool isEmpty() const
It returns true if the collection is empty.
int getPropertyDataType(std::size_t pos) const
It returns the underlying data type of the property at position pos.
std::unique_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
std::unique_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
~DataSetAdapter()
Destructor.
te::da::DataSet * getAdaptee() const
This method returns the pointer to the DataSet that is handled by adapter.
te::dt::AbstractData * getAdaptedValue(std::size_t i) const
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.
std::unique_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
std::size_t size() const
It returns the collection size, if it is known.
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
te::common::Holder< DataSet > m_ds
A pointer to the DataSet that will be handled by adapter.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
std::vector< std::vector< std::size_t > > m_propertyIndexes
A vector that stores the adapted property indexes.
std::unique_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
std::vector< std::string > m_pnames
The name for each property.
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not.
std::unique_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
std::string getDatasetNameOfProperty(std::size_t pos) const
It returns the underlying dataset name of the property at position pos.
bool isPositionValid() const
It tells if the dataset internal pointer is on a valid position.
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
bool moveNext()
It moves the internal pointer to the next item of the collection.
A dataset is the unit of information manipulated by the data access module of TerraLib.
A base class for values that can be retrieved from the data access module.
TraverseType
A dataset can be traversed in two ways:
AccessPolicy
Supported data access policies (can be used as bitfield).
boost::function3< te::dt::AbstractData *, DataSet *, const std::vector< std::size_t > &, int > AttributeConverter
The type of attribute converter functions.
Implementation of an in-memory data set that contains spatiotemporal observations indexed by time and...
An auxiliary data structure for helping to control the garbage collection of C++ objects.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.