26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASET_H 27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASET_H 30 #include "../../common/Enums.h" 31 #include "../../core/encoding/CharEncoding.h" 32 #include "../../datatype/Array.h" 33 #include "../../datatype/ByteArray.h" 34 #include "../../datatype/DateTime.h" 35 #include "../../datatype/Enums.h" 36 #include "../../geometry/Enums.h" 37 #include "../../raster/Raster.h" 38 #include "../Config.h" 44 #include <boost/cstdint.hpp> 45 #include <boost/noncopyable.hpp> 46 #include <boost/shared_ptr.hpp> 66 class DataSourceTransactor;
146 virtual std::size_t getNumProperties()
const = 0;
155 virtual int getPropertyDataType(std::size_t i)
const = 0;
164 virtual std::string getPropertyName(std::size_t i)
const = 0;
173 virtual std::string getDatasetNameOfProperty(std::size_t i)
const = 0;
186 virtual bool isEmpty()
const = 0;
198 virtual bool isConnected()
const = 0;
208 virtual std::size_t size()
const = 0;
221 virtual std::unique_ptr<te::gm::Envelope> getExtent(std::size_t i) = 0;
233 virtual bool moveNext() = 0;
242 virtual bool movePrevious() = 0;
251 virtual bool moveBeforeFirst() = 0;
260 virtual bool moveFirst() = 0;
267 virtual bool moveLast() = 0;
278 virtual bool move(std::size_t i) = 0;
285 virtual bool isAtBegin()
const = 0;
292 virtual bool isBeforeBegin()
const = 0;
299 virtual bool isAtEnd()
const = 0;
306 virtual bool isAfterEnd()
const = 0;
313 virtual bool isPositionValid()
const = 0;
329 virtual char getChar(std::size_t i)
const = 0;
338 virtual char getChar(
const std::string& name)
const;
347 virtual unsigned char getUChar(std::size_t i)
const = 0;
356 virtual unsigned char getUChar(
const std::string& name)
const;
365 virtual boost::int16_t getInt16(std::size_t i)
const = 0;
374 virtual boost::int16_t getInt16(
const std::string& name)
const;
383 virtual boost::int32_t getInt32(std::size_t i)
const = 0;
392 virtual boost::int32_t getInt32(
const std::string& name)
const;
401 virtual boost::int64_t getInt64(std::size_t i)
const = 0;
410 virtual boost::int64_t getInt64(
const std::string& name)
const;
419 virtual bool getBool(std::size_t i)
const = 0;
428 virtual bool getBool(
const std::string& name)
const;
437 virtual float getFloat(std::size_t i)
const = 0;
446 virtual float getFloat(
const std::string& name)
const;
455 virtual double getDouble(std::size_t i)
const = 0;
464 virtual double getDouble(
const std::string& name)
const;
473 virtual std::string getNumeric(std::size_t i)
const = 0;
482 virtual std::string getNumeric(
const std::string& name)
const;
491 virtual std::string getString(std::size_t i)
const = 0;
500 virtual std::string getString(
const std::string& name)
const;
511 virtual std::unique_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const = 0;
522 virtual std::unique_ptr<te::dt::ByteArray> getByteArray(
const std::string& name)
const;
531 virtual std::unique_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const = 0;
540 virtual std::unique_ptr<te::gm::Geometry> getGeometry(
const std::string& name)
const;
556 virtual std::unique_ptr<te::rst::Raster> getRaster(std::size_t i)
const = 0;
571 virtual std::unique_ptr<te::rst::Raster> getRaster(
const std::string& name)
const;
580 virtual std::unique_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const = 0;
589 virtual std::unique_ptr<te::dt::DateTime> getDateTime(
const std::string& name)
const;
596 virtual std::unique_ptr<te::dt::Array> getArray(std::size_t i)
const = 0;
605 virtual std::unique_ptr<te::dt::Array> getArray(
const std::string& name)
const;
616 virtual std::unique_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
627 virtual std::unique_ptr<te::dt::AbstractData> getValue(
const std::string& name)
const;
640 virtual std::string getAsString(std::size_t i,
int precision = 0)
const;
655 virtual std::string getAsString(
const std::string& name,
int precision = 0)
const;
664 virtual bool isNull(std::size_t i)
const = 0;
673 virtual bool isNull(
const std::string& name)
const;
683 #endif // __TERRALIB_DATAACCESS_INTERNAL_DATASET_H DataSet()
Default constructor.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
A dataset is the unit of information manipulated by the data access module of TerraLib.
boost::shared_ptr< DataSet > DataSetPtr
virtual ~DataSet()
Virtual destructor.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.