FilterCapabilities.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 FilterCapabilities.h
22 
23  \brief This class can be used to create capabilities document of services that use filter encoding.
24  */
25 
26 #ifndef __TERRALIB_FE_INTERNAL_FILTERCAPABILITIES_H
27 #define __TERRALIB_FE_INTERNAL_FILTERCAPABILITIES_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 namespace te
33 {
34  namespace fe
35  {
36  class IdCapabilities;
37  class ScalarCapabilities;
38  class SpatialCapabilities;
39 
40  /*!
41  \class FilterCapabilities
42 
43  \brief This class can be used to create capabilities document of services that use filter encoding.
44 
45  The filter capabilities document describes what specific filter
46  capabilities are supported by a service. For example, a
47  Web Feature Service (WFS) that uses filter encoding would
48  include this fragment in its capabilities document to advertise
49  what filter capabilities it supports.
50  Filter capabilities are divided into three categories:
51  <ul>
52  <li>spatial capabilities;</li>
53  <li>scalar capabilities;</li>
54  <li>id capabilities.</li>
55  </ul>
56 
57  \sa SpatialCapabilities, ScalarCapabilities, IdCapabilities
58  */
60  {
61  public:
62 
63  /** @name Initializer Methods
64  * Methods related to instantiation and destruction.
65  */
66  //@{
67 
68  /*! \brief It initializes a new FilterCapabilities. */
70 
71  /*! \brief Destructor. */
73 
74  //@}
75 
76  /** @name Accessor methods
77  * Methods used to get or set properties.
78  */
79  //@{
80 
81  /*!
82  \brief It sets the filter spatial capabilities operations.
83 
84  \param spCapabilities The filter spatial capabilities operations.
85 
86  \note It will take the ownership of the spatial capabilities.
87  So, don't release the spatial capabilities resources.
88  */
89  void setSpatialCapabilities(SpatialCapabilities* spCapabilities);
90 
91  /*!
92  \brief It returns the filter spatial capabilities.
93 
94  \return The filter spatial capabilities.
95  */
96  const SpatialCapabilities* getSpatialCapabilities() const;
97 
98 
99  /*!
100  \brief It sets the filter scalar capabilities operations.
101 
102  \param scCapabilities The filter scalar capabilities operations.
103 
104  \note It will take the ownership of the scalar capabilities.
105  So, don't release the scalar capabilities resources.
106  */
107  void setScalarCapabilities(ScalarCapabilities* scCapabilities);
108 
109  /*!
110  \brief It returns the filter scalar capabilities.
111 
112  \return The filter scalar capabilities.
113  */
114  const ScalarCapabilities* getScalarCapabilities() const;
115 
116  /*!
117  \brief It sets the filter id capabilities.
118 
119  \param idCapabilities The filter id capabilities.
120 
121  \note It will take the ownership of the id capabilities.
122  So, don't release the id capabilities resources.
123 
124  */
125  void setIdCapabilities(IdCapabilities* idCapabilities);
126 
127  /*!
128  \brief It returns the filter id capabilities.
129 
130  \return The filter id capabilities.
131  */
132  const IdCapabilities* getIdCapabilities() const;
133 
134  //@}
135 
136  private:
137 
140  IdCapabilities* m_idCapabilities; //!< Mandatory.
141  };
142 
143  } // end namespace fe
144 } // end namespace te
145 
146 #endif // __TERRALIB_FE_INTERNAL_FILTERCAPABILITIES_H
ScalarCapabilities * m_scalarCapabilities
Mandatory.
Spatial capabilities include the ability to filter spatial data.
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59
This class can be used to create capabilities document of services that use filter encoding...
URI C++ Library.
Configuration flags for the TerraLib Filter Encoding module.
IdCapabilities * m_idCapabilities
Mandatory.
Scalar capabilities include the ability to process logical expressions, comparisons and arithmetic op...
Id capabilities include the ability to refer to elements in a GML version 3 data source using an ogc:...
SpatialCapabilities * m_spatialCapabilities
Mandatory.