Substring.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/se/Substring.h
22 
23  \brief It returns the substring (String formatting functions).
24 */
25 
26 #ifndef __TERRALIB_SE_INTERNAL_SUBSTRING_H
27 #define __TERRALIB_SE_INTERNAL_SUBSTRING_H
28 
29 // TerraLib
30 #include "Function.h"
31 
32 namespace te
33 {
34  namespace se
35  {
36 // Forward declaration
37  class ParameterValue;
38 
39  /*!
40  \class Substring
41 
42  \brief It returns the substring (String formatting functions).
43 
44  It returns the substring at position
45  Position (counting from 1) with length Length.<br>
46  The first argument StringValue is converted to
47  a string value before applying the substring operation.
48  If Position is not specified it is assumed as 1. The
49  default value for Length is the remaining length
50  starting at Position.
51  <br>
52  The function shall react friendly on invalid Position
53  and Length contents. Positions and Lengths less or equal 0
54  shall yield the empty string. If the actual string length
55  is less the defined substring the existing part of the
56  substring shall be returned.
57 
58  \sa Function, ParameterValue
59  */
60  class TESEEXPORT Substring : public Function
61  {
62  public:
63 
64  /** @name Initializer Methods
65  * Methods related to instantiation and destruction.
66  */
67  //@{
68 
69  /*! \brief It initializes a new Substring. */
70  Substring();
71 
72  /*! \brief Destructor. */
73  ~Substring();
74 
75  //@}
76 
77  void setStringValue(ParameterValue* v);
78  void setPosition(ParameterValue* v);
79  void setLength(ParameterValue* v);
80 
81  private:
82 
83  /** @name Not Allowed Methods
84  * No copy allowed.
85  */
86  //@{
87 
88  /*!
89  \brief No copy constructor allowed.
90 
91  \param rhs The other object.
92  */
93  Substring(const Substring& rhs);
94 
95  /*!
96  \brief No assignment operator allowed.
97 
98  \param rhs The other object.
99 
100  \return A reference for this.
101  */
102  Substring& operator=(const Substring& rhs);
103 
104  //@}
105 
106  private:
107 
108  ParameterValue* m_stringValue; //!< Mandatory.
109  ParameterValue* m_position; //!< Optional.
110  ParameterValue* m_length; //!< Optional.
111  };
112 
113  } // end namespace se
114 } // end namespace te
115 
116 #endif // __TERRALIB_SE_INTERNAL_SUBSTRING_H
Symbology Encoding functions.
Definition: Function.h:65
The "ParameterValueType" uses WFS-Filter expressions to give values for SE graphic parameters...
ParameterValue * m_stringValue
Mandatory.
Definition: Substring.h:108
URI C++ Library.
It returns the substring (String formatting functions).
Definition: Substring.h:60
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:187
ParameterValue * m_length
Optional.
Definition: Substring.h:110
ParameterValue * m_position
Optional.
Definition: Substring.h:109
Symbology Encoding functions.