Loading...
Searching...
No Matches
SequenceLoaderStrategy.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 SequenceLoaderStrategy.h
22
23 \brief This class implements the main functions necessary to
24 save and load the graph data and metadata information
25 using as strategy a "order by" to create a sequence
26 of objects.
27*/
28
29#ifndef __TERRALIB_GRAPH_INTERNAL_SEQUENCELOADERSTRATEGY_H
30#define __TERRALIB_GRAPH_INTERNAL_SEQUENCELOADERSTRATEGY_H
31
32// Terralib Includes
33#include "../Config.h"
34#include "../Enums.h"
36
37// STL Includes
38#include <string>
39
40namespace te
41{
42 // Forward declarations
43 namespace da
44 {
45 class DataSet;
46 }
47
48 namespace graph
49 {
50 //forward declarations
51 class AbstractGraph;
52 class GraphCache;
53 class GraphData;
54 class GraphMetadata;
55
56 /*!
57 \class SequenceLoaderStrategy
58
59 \brief This class implements the main functions necessary to
60 save and load the graph data and metadata information
61 using as strategy a "order by" to create a sequence
62 of objects.
63
64 \sa AbstractGraphLoaderStrategy
65 */
66
68 {
69 public:
70
71 /*! \brief Default constructor. */
73
74 /*! \brief Default destructor. */
76
77 /** @name Database Box Graph Loader Strategy Methods
78 * Method used to manager a graph data
79 */
80 //@{
81
82 /*!
83 \brief Functio used to load a group of vertex elements given a base element
84
85 \param vertexId Attribute used to identify the base element
86
87 \param g Pointer to a graph, parent of this element
88
89 \param gc This is a optional attribute, if present the cache will be check if the already been loaded
90
91 */
92 virtual void loadDataByVertexId(int vertexId, te::graph::AbstractGraph* g, te::graph::GraphCache* gc = 0);
93
94 /*!
95 \brief Functio used to load a group of edges elements given a base element
96
97 \param edgeId Attribute used to identify the base element
98
99 \param g Pointer to a graph, parent of this element
100
101 \param gc This is a optional attribute, if present the cache will be check if the already been loaded
102
103 */
105
106 //@}
107 };
108 } // end namespace graph
109} // end namespace te
110
111#endif // __TERRALIB_GRAPH_INTERNAL_SEQUENCELOADERSTRATEGY_H
This class define the main functions necessary to save and load the graph data and metadata informati...
This class define the main functions necessary to save and load the graph data and metadata informati...
Abstract class used to define the main functions of graph struct. All graph implementations must used...
Definition: AbstractGraph.h:56
Class used to manager the graph data elements. This class uses a cache policy to control the elements...
Definition: GraphCache.h:61
Class used to define the graph metadata informations.
Definition: GraphMetadata.h:57
This class implements the main functions necessary to save and load the graph data and metadata infor...
virtual void loadDataByEdgeId(int edgeId, te::graph::AbstractGraph *g, te::graph::GraphCache *gc=0)
Functio used to load a group of edges elements given a base element.
virtual ~SequenceLoaderStrategy()
Default destructor.
SequenceLoaderStrategy(te::graph::GraphMetadata *metadata)
Default constructor.
virtual void loadDataByVertexId(int vertexId, te::graph::AbstractGraph *g, te::graph::GraphCache *gc=0)
Functio used to load a group of vertex elements given a base element.
TerraLib.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:178