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::auto_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;
322 virtual char getChar(std::size_t i)
const = 0;
331 virtual char getChar(
const std::string& name)
const;
340 virtual unsigned char getUChar(std::size_t i)
const = 0;
349 virtual unsigned char getUChar(
const std::string& name)
const;
358 virtual boost::int16_t getInt16(std::size_t i)
const = 0;
367 virtual boost::int16_t getInt16(
const std::string& name)
const;
376 virtual boost::int32_t getInt32(std::size_t i)
const = 0;
385 virtual boost::int32_t getInt32(
const std::string& name)
const;
394 virtual boost::int64_t getInt64(std::size_t i)
const = 0;
403 virtual boost::int64_t getInt64(
const std::string& name)
const;
412 virtual bool getBool(std::size_t i)
const = 0;
421 virtual bool getBool(
const std::string& name)
const;
430 virtual float getFloat(std::size_t i)
const = 0;
439 virtual float getFloat(
const std::string& name)
const;
448 virtual double getDouble(std::size_t i)
const = 0;
457 virtual double getDouble(
const std::string& name)
const;
466 virtual std::string getNumeric(std::size_t i)
const = 0;
475 virtual std::string getNumeric(
const std::string& name)
const;
484 virtual std::string getString(std::size_t i)
const = 0;
493 virtual std::string getString(
const std::string& name)
const;
504 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const = 0;
515 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(
const std::string& name)
const;
524 virtual std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const = 0;
533 virtual std::auto_ptr<te::gm::Geometry> getGeometry(
const std::string& name)
const;
549 virtual std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const = 0;
564 virtual std::auto_ptr<te::rst::Raster> getRaster(
const std::string& name)
const;
573 virtual std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const = 0;
582 virtual std::auto_ptr<te::dt::DateTime> getDateTime(
const std::string& name)
const;
589 virtual std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const = 0;
598 virtual std::auto_ptr<te::dt::Array> getArray(
const std::string& name)
const;
609 virtual std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
620 virtual std::auto_ptr<te::dt::AbstractData> getValue(
const std::string& name)
const;
633 virtual std::string getAsString(std::size_t i,
int precision = 0)
const;
646 virtual std::string getAsString(
const std::string& name,
int precision = 0)
const;
655 virtual bool isNull(std::size_t i)
const = 0;
664 virtual bool isNull(
const std::string& name)
const;
674 #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.