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> 67 class DataSourceTransactor;
147 virtual std::size_t getNumProperties()
const = 0;
156 virtual int getPropertyDataType(std::size_t i)
const = 0;
165 virtual std::string getPropertyName(std::size_t i)
const = 0;
174 virtual std::string getDatasetNameOfProperty(std::size_t i)
const = 0;
187 virtual bool isEmpty()
const = 0;
199 virtual bool isConnected()
const = 0;
209 virtual std::size_t size()
const = 0;
222 virtual std::unique_ptr<te::gm::Envelope> getExtent(std::size_t i) = 0;
234 virtual bool moveNext() = 0;
243 virtual bool movePrevious() = 0;
252 virtual bool moveBeforeFirst() = 0;
261 virtual bool moveFirst() = 0;
268 virtual bool moveLast() = 0;
279 virtual bool move(std::size_t i) = 0;
286 virtual bool isAtBegin()
const = 0;
293 virtual bool isBeforeBegin()
const = 0;
300 virtual bool isAtEnd()
const = 0;
307 virtual bool isAfterEnd()
const = 0;
314 virtual bool isPositionValid()
const = 0;
330 virtual char getChar(std::size_t i)
const = 0;
339 virtual char getChar(
const std::string& name)
const;
348 virtual unsigned char getUChar(std::size_t i)
const = 0;
357 virtual unsigned char getUChar(
const std::string& name)
const;
366 virtual boost::int16_t getInt16(std::size_t i)
const = 0;
375 virtual boost::int16_t getInt16(
const std::string& name)
const;
384 virtual boost::int32_t getInt32(std::size_t i)
const = 0;
393 virtual boost::int32_t getInt32(
const std::string& name)
const;
402 virtual boost::int64_t getInt64(std::size_t i)
const = 0;
411 virtual boost::int64_t getInt64(
const std::string& name)
const;
420 virtual bool getBool(std::size_t i)
const = 0;
429 virtual bool getBool(
const std::string& name)
const;
438 virtual float getFloat(std::size_t i)
const = 0;
447 virtual float getFloat(
const std::string& name)
const;
456 virtual double getDouble(std::size_t i)
const = 0;
465 virtual double getDouble(
const std::string& name)
const;
474 virtual std::string getNumeric(std::size_t i)
const = 0;
483 virtual std::string getNumeric(
const std::string& name)
const;
492 virtual std::string getString(std::size_t i)
const = 0;
501 virtual std::string getString(
const std::string& name)
const;
512 virtual std::unique_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const = 0;
523 virtual std::unique_ptr<te::dt::ByteArray> getByteArray(
const std::string& name)
const;
532 virtual std::unique_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const = 0;
541 virtual std::unique_ptr<te::gm::Geometry> getGeometry(
const std::string& name)
const;
548 virtual std::unique_ptr<te::da::DataSetItem> getItem()
const;
564 virtual std::unique_ptr<te::rst::Raster> getRaster(std::size_t i)
const = 0;
579 virtual std::unique_ptr<te::rst::Raster> getRaster(
const std::string& name)
const;
588 virtual std::unique_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const = 0;
597 virtual std::unique_ptr<te::dt::DateTime> getDateTime(
const std::string& name)
const;
604 virtual std::unique_ptr<te::dt::Array> getArray(std::size_t i)
const = 0;
613 virtual std::unique_ptr<te::dt::Array> getArray(
const std::string& name)
const;
624 virtual std::unique_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
635 virtual std::unique_ptr<te::dt::AbstractData> getValue(
const std::string& name)
const;
648 virtual std::string getAsString(std::size_t i,
int precision = 0)
const;
663 virtual std::string getAsString(
const std::string& name,
int precision = 0)
const;
672 virtual bool isNull(std::size_t i)
const = 0;
681 virtual bool isNull(
const std::string& name)
const;
691 #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.