Loading...
Searching...
No Matches
Serializer.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file terralib/dataaccess/serialization/xml/DataSetType.h
22
23 \brief Support for DataSetType serialization.
24*/
25
26#ifndef __TERRALIB_SERIALIZATION_DATAACCESS_INTERNAL_DATASETTYPE_H
27#define __TERRALIB_SERIALIZATION_DATAACCESS_INTERNAL_DATASETTYPE_H
28
29// TerraLib
30#include "../../query/Distinct.h"
31#include "../../query/Fields.h"
32#include "../../query/From.h"
33#include "../../query/GroupBy.h"
34#include "../../query/OrderBy.h"
35#include "../../Config.h"
36
37// STL
38#include <vector>
39
40namespace te
41{
42 namespace da
43 {
44 class DataSetType;
45 class DataSourceCapabilities;
46 class DataSourceCatalog;
47 class DataSourceInfo;
48 class Field;
49 class Function;
50 class GroupByItem;
51 class Having;
52 class Literal;
53 class OrderByItem;
54 class PropertyName;
55 class Select;
56 class SQLDialect;
57 class Where;
58 }
59
60 namespace xml
61 {
62 class AbstractWriter;
63 class Reader;
64 }
65
66 namespace serialize
67 {
68 namespace xml
69 {
70 TEDATAACCESSEXPORT void ReadDataSourceInfo(const std::string& datasourcesFileName);
71
73
74 TEDATAACCESSEXPORT void Save(const std::string& fileName);
75
77
79
80 TEDATAACCESSEXPORT void Save(const te::da::DataSourceCatalog* catalog, const std::string& fileName);
81
83
85
87
89
90 TEDATAACCESSEXPORT void Read(const std::string& dialectFileName, te::da::DataSourceCapabilities& capabilities, te::da::SQLDialect& dialect);
91
92 TEDATAACCESSEXPORT te::da::SQLDialect* ReadDialect(const std::string& dialectFileName);
93
95
97
99
101
103
105
107
109
111
113
115
117
119
121
123
125
127
129
131
133
135
137
139
141
143
145
147
149
150 } // end namespace xml
151 } // end namespace serialize
152} // end namespace te
153
154#endif // __TERRALIB_SERIALIZATION_DATAACCESS_INTERNAL_DATASETTYPE_H
155
te::da::DataSourceCapabilities capabilities
A class that models the description of a dataset.
Definition: DataSetType.h:73
A class that represents the known capabilities of a specific data source, i.e. this class informs all...
It represents the system catalog of a DataSource.
A class that represents a data source component.
This is an abstract class that models a query expression.
Definition: Expression.h:48
The Field class can be used to model an expression that takes part of the output items of a SELECT.
Definition: Field.h:51
An abstract class that models a source of data in a query.
Definition: FromItem.h:51
A class that models a Function expression.
Definition: Function.h:48
A class that can be used in a GROUP BY clause.
Definition: GroupByItem.h:51
A class that can be used to model a filter expression that can be applied to a query.
Definition: Having.h:48
This class models a literal value.
Definition: Literal.h:54
A class that can be used in an ORDER BY clause to sort the items of a resulting query.
Definition: OrderByItem.h:54
A class that models the name of any property of an object.
Definition: PropertyName.h:51
It represents the SQL query dialect accepted by a given data source.
Definition: SQLDialect.h:56
A Select models a query to be used when retrieving data from a DataSource.
Definition: Select.h:67
A class that can be used to model a filter expression that can be applied to a query.
Definition: Where.h:48
This class models a XML writer object.
This class models a XML reader object.
Definition: Reader.h:56
boost::ptr_vector< Field > Fields
Fields is just a boost::ptr_vector of Field pointers.
Definition: Fields.h:40
boost::ptr_vector< GroupByItem > GroupBy
A class that can be used to model a GROUP BY clause.
Definition: GroupBy.h:40
boost::ptr_vector< FromItem > From
It models the FROM clause for a query.
Definition: From.h:40
boost::ptr_vector< OrderByItem > OrderBy
A class that can be used to model an ORDER BY clause.
Definition: OrderBy.h:40
boost::ptr_vector< Expression > Distinct
A class that models a Distinct clause on a query.
Definition: Distinct.h:40
TEDATAACCESSEXPORT te::da::Where * ReadWhere(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Having * ReadHaving(te::xml::Reader &reader)
TEDATAACCESSEXPORT void ReadDataSourceInfo(const std::string &datasourcesFileName)
TEDATAACCESSEXPORT te::da::FromItem * ReadFromItem(te::xml::Reader &reader)
TEDATAACCESSEXPORT void Read(const std::string &dialectFileName, te::da::DataSourceCapabilities &capabilities, te::da::SQLDialect &dialect)
TEDATAACCESSEXPORT te::da::OrderBy * ReadOrderBy(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Function * ReadFunction(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Select * ReadSelect(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Fields * ReadFields(te::xml::Reader &reader)
TEDATAACCESSEXPORT void Save(const std::string &fileName)
TEDATAACCESSEXPORT te::da::SQLDialect * ReadDialect(const std::string &dialectFileName)
TEDATAACCESSEXPORT te::da::PropertyName * ReadPropertyName(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Literal * ReadLiteral(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::DataSourceCatalog * ReadDataSourceCatalog(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::DataSetType * ReadDataSetType(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::From * ReadFrom(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::Distinct * ReadDistinct(te::xml::Reader &reader)
TEDATAACCESSEXPORT te::da::GroupBy * ReadGroupBy(te::xml::Reader &reader)
TerraLib.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:97