26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
30 #include "../../common/CharEncodingConv.h"
31 #include "../../common/Enums.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;
186 virtual std::string getDatasetNameOfProperty(std::size_t i)
const = 0;
199 virtual bool isEmpty()
const = 0;
211 virtual bool isConnected()
const = 0;
221 virtual std::size_t size()
const = 0;
234 virtual std::auto_ptr<te::gm::Envelope> getExtent(std::size_t i) = 0;
246 virtual bool moveNext() = 0;
255 virtual bool movePrevious() = 0;
264 virtual bool moveBeforeFirst() = 0;
273 virtual bool moveFirst() = 0;
280 virtual bool moveLast() = 0;
291 virtual bool move(std::size_t i) = 0;
298 virtual bool isAtBegin()
const = 0;
305 virtual bool isBeforeBegin()
const = 0;
312 virtual bool isAtEnd()
const = 0;
319 virtual bool isAfterEnd()
const = 0;
335 virtual char getChar(std::size_t i)
const = 0;
344 virtual char getChar(
const std::string& name)
const;
353 virtual unsigned char getUChar(std::size_t i)
const = 0;
362 virtual unsigned char getUChar(
const std::string& name)
const;
371 virtual boost::int16_t getInt16(std::size_t i)
const = 0;
380 virtual boost::int16_t getInt16(
const std::string& name)
const;
389 virtual boost::int32_t getInt32(std::size_t i)
const = 0;
398 virtual boost::int32_t getInt32(
const std::string& name)
const;
407 virtual boost::int64_t getInt64(std::size_t i)
const = 0;
416 virtual boost::int64_t getInt64(
const std::string& name)
const;
425 virtual bool getBool(std::size_t i)
const = 0;
434 virtual bool getBool(
const std::string& name)
const;
443 virtual float getFloat(std::size_t i)
const = 0;
452 virtual float getFloat(
const std::string& name)
const;
461 virtual double getDouble(std::size_t i)
const = 0;
470 virtual double getDouble(
const std::string& name)
const;
479 virtual std::string getNumeric(std::size_t i)
const = 0;
488 virtual std::string getNumeric(
const std::string& name)
const;
497 virtual std::string getString(std::size_t i)
const = 0;
506 virtual std::string getString(
const std::string& name)
const;
517 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const = 0;
528 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(
const std::string& name)
const;
537 virtual std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const = 0;
546 virtual std::auto_ptr<te::gm::Geometry> getGeometry(
const std::string& name)
const;
562 virtual std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const = 0;
577 virtual std::auto_ptr<te::rst::Raster> getRaster(
const std::string& name)
const;
586 virtual std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const = 0;
595 virtual std::auto_ptr<te::dt::DateTime> getDateTime(
const std::string& name)
const;
602 virtual std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const = 0;
611 virtual std::auto_ptr<te::dt::Array> getArray(
const std::string& name)
const;
622 virtual std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
633 virtual std::auto_ptr<te::dt::AbstractData> getValue(
const std::string& name)
const;
646 virtual std::string getAsString(std::size_t i,
int precision = 0)
const;
659 virtual std::string getAsString(
const std::string& name,
int precision = 0)
const;
668 virtual bool isNull(std::size_t i)
const = 0;
677 virtual bool isNull(
const std::string& name)
const;
687 #endif // __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
CharEncoding
Supported charsets (character encoding).
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.