IdCapabilities.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 IdCapabilities.h
22 
23  \brief Id capabilities include the ability to refer to elements in a GML version 3 data source using an ogc:GmlObjectId with a gml:id attribute.
24  */
25 
26 #ifndef __TERRALIB_FE_INTERNAL_IDCAPABILITIES_H
27 #define __TERRALIB_FE_INTERNAL_IDCAPABILITIES_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 namespace te
33 {
34  namespace fe
35  {
36  /*!
37  \class IdCapabilities
38 
39  \brief Id capabilities include the ability to refer to elements in a GML version 3 data source using an ogc:GmlObjectId with a gml:id attribute.
40 
41  Any elements with a gml:id attribute, including
42  features, geometries, topologies, and complex attributes,
43  may be so referenced.<br>
44  For backward compatibility, Id capabilities
45  also include the ability to refer to features
46  using an ogc:FeatureId with a fid attribute.
47  Only features with a GML version 2 gml:fid attribute
48  may be so referenced. Note that features in a
49  GML version 3 data source may have gml:fid
50  attributes for backwards compatibility with GML
51  version 2, in addition to gml:id attributes
52  introduced in GML version 3. This ability is
53  deprecated.
54 
55  \sa FilterCapabilities
56  */
58  {
59  public:
60 
61  /** @name Initializer Methods
62  * Methods related to instantiation and destruction.
63  */
64  //@{
65 
66  /*! \brief It initializes a new IdCapabilities. */
68 
69  /*! \brief Destructor. */
70  ~IdCapabilities();
71 
72  //@}
73 
74  /** @name Accessor methods
75  * Methods used to get or set properties.
76  */
77  //@{
78 
79  /*!
80  \brief It returns true if GML 3 identification is supported, otherwise, it returns false.
81 
82  \return True if GML 3 identification is supported otherwise it returns false.
83  */
84  const bool& hasEID() const;
85 
86  /*! \brief It enables GML 3 identification support. */
87  void enableEID();
88 
89  /*! \brief It disables GML 3 identification support. */
90  void disableEID();
91 
92  /*!
93  \brief It returns true if GML 2 identification is supported, otherwise, it returns false.
94 
95  \return True if GML 2 identification is supported otherwise it returns false.
96  */
97  const bool& hasFID() const;
98 
99  /*! \brief It enables GML 2 identification support. */
100  void enableFID();
101 
102  /*! \brief It disables GML 2 identification support. */
103  void disableFID();
104 
105  //@}
106 
107  private:
108 
109  bool m_hasEID; //!< GML version 3 data source may have gml:id.
110  bool m_hasFID; //!< GML version 2 gml:fid attribute.
111  };
112 
113  } // end namespace fe
114 } // end namespace te
115 
116 #endif // __TERRALIB_FE_INTERNAL_IDCAPABILITIES_H
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59
URI C++ Library.
bool m_hasFID
GML version 2 gml:fid attribute.
Configuration flags for the TerraLib Filter Encoding module.
bool m_hasEID
GML version 3 data source may have gml:id.
Id capabilities include the ability to refer to elements in a GML version 3 data source using an ogc:...