26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
30 #include "../../common/Enums.h"
31 #include "../../datatype/Array.h"
32 #include "../../datatype/ByteArray.h"
33 #include "../../datatype/DateTime.h"
34 #include "../../datatype/Enums.h"
35 #include "../../geometry/Enums.h"
36 #include "../../raster/Raster.h"
37 #include "../Config.h"
43 #include <boost/cstdint.hpp>
44 #include <boost/noncopyable.hpp>
45 #include <boost/shared_ptr.hpp>
65 class DataSourceTransactor;
145 virtual std::size_t getNumProperties()
const = 0;
154 virtual int getPropertyDataType(std::size_t i)
const = 0;
163 virtual std::string getPropertyName(std::size_t i)
const = 0;
172 virtual std::string getDatasetNameOfProperty(std::size_t i)
const = 0;
185 virtual bool isEmpty()
const = 0;
197 virtual bool isConnected()
const = 0;
207 virtual std::size_t size()
const = 0;
220 virtual std::auto_ptr<te::gm::Envelope> getExtent(std::size_t i) = 0;
232 virtual bool moveNext() = 0;
241 virtual bool movePrevious() = 0;
250 virtual bool moveBeforeFirst() = 0;
259 virtual bool moveFirst() = 0;
266 virtual bool moveLast() = 0;
277 virtual bool move(std::size_t i) = 0;
284 virtual bool isAtBegin()
const = 0;
291 virtual bool isBeforeBegin()
const = 0;
298 virtual bool isAtEnd()
const = 0;
305 virtual bool isAfterEnd()
const = 0;
321 virtual char getChar(std::size_t i)
const = 0;
330 virtual char getChar(
const std::string& name)
const;
339 virtual unsigned char getUChar(std::size_t i)
const = 0;
348 virtual unsigned char getUChar(
const std::string& name)
const;
357 virtual boost::int16_t getInt16(std::size_t i)
const = 0;
366 virtual boost::int16_t getInt16(
const std::string& name)
const;
375 virtual boost::int32_t getInt32(std::size_t i)
const = 0;
384 virtual boost::int32_t getInt32(
const std::string& name)
const;
393 virtual boost::int64_t getInt64(std::size_t i)
const = 0;
402 virtual boost::int64_t getInt64(
const std::string& name)
const;
411 virtual bool getBool(std::size_t i)
const = 0;
420 virtual bool getBool(
const std::string& name)
const;
429 virtual float getFloat(std::size_t i)
const = 0;
438 virtual float getFloat(
const std::string& name)
const;
447 virtual double getDouble(std::size_t i)
const = 0;
456 virtual double getDouble(
const std::string& name)
const;
465 virtual std::string getNumeric(std::size_t i)
const = 0;
474 virtual std::string getNumeric(
const std::string& name)
const;
483 virtual std::string getString(std::size_t i)
const = 0;
492 virtual std::string getString(
const std::string& name)
const;
503 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const = 0;
514 virtual std::auto_ptr<te::dt::ByteArray> getByteArray(
const std::string& name)
const;
523 virtual std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const = 0;
532 virtual std::auto_ptr<te::gm::Geometry> getGeometry(
const std::string& name)
const;
548 virtual std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const = 0;
563 virtual std::auto_ptr<te::rst::Raster> getRaster(
const std::string& name)
const;
572 virtual std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const = 0;
581 virtual std::auto_ptr<te::dt::DateTime> getDateTime(
const std::string& name)
const;
588 virtual std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const = 0;
597 virtual std::auto_ptr<te::dt::Array> getArray(
const std::string& name)
const;
608 virtual std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
619 virtual std::auto_ptr<te::dt::AbstractData> getValue(
const std::string& name)
const;
632 virtual std::string getAsString(std::size_t i,
int precision = 0)
const;
645 virtual std::string getAsString(
const std::string& name,
int precision = 0)
const;
654 virtual bool isNull(std::size_t i)
const = 0;
663 virtual bool isNull(
const std::string& name)
const;
673 #endif // __TERRALIB_DATAACCESS_INTERNAL_DATASET_H
boost::shared_ptr< DataSet > DataSetPtr
DataSet()
Default constructor.
AccessPolicy
Supported data access policies (can be used as bitfield).
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
TraverseType
A dataset can be traversed in two ways:
double getDouble(const std::string &value, std::vector< std::string > &sVector)
virtual ~DataSet()
Virtual destructor.
A dataset is the unit of information manipulated by the data access module of TerraLib.