All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SimpleContent.cpp
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 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 General Public License for more details.
14 
15  You should have received a copy of the GNU 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 SimpleContent.cpp
22 
23  \brief A class that models an XML Schema simpleContent element.
24 */
25 
26 // TerraLib
27 #include "SimpleContent.h"
28 #include "TypeDerivation.h"
29 
30 // STL
31 #include <cassert>
32 
34  : Identifiable(id),
35  Annotated(ann),
36  m_derivation(dev)
37 {
38 }
39 
41  : Identifiable(rhs),
42  Annotated(rhs)
43 {
44 }
45 
47 {
48  delete m_derivation;
49 }
50 
52 {
53  if(this != &rhs)
54  {
56 
58 
59  delete m_derivation;
60 
61  m_derivation = rhs.m_derivation ? rhs.m_derivation->clone() : 0;
62  }
63 
64  return *this;
65 }
66 
68 {
69  return m_derivation;
70 }
71 
73 {
74  delete m_derivation;
75  m_derivation = dev;
76 }
TypeDerivation * getTypeDerivation() const
It returns the derivation type of this SimpleContent.
A base class for XSD classes that may allow annotation.
Definition: Annotated.h:49
Annotated & operator=(const Annotated &rhs)
Assignment operator.
Definition: Annotated.cpp:57
TypeDerivation * m_derivation
It can be: restriction (Restriction4SimpleContent) | extension. (Required)
SimpleType, SimpleContent and ComplexContent can be used to extend other types. This is just a base c...
SimpleContent & operator=(const SimpleContent &rhs)
Assignment operator.
A base class for XSD classes that must provide a unique ID property.
Definition: Identifiable.h:46
SimpleContent(TypeDerivation *dev=0, Annotation *ann=0, std::string *id=0)
Constructor.
SimpleType, SimpleContent and ComplexContent can be extend other types. This is just a base class for...
Identifiable & operator=(const Identifiable &rhs)
Assignment operator.
void setTypeDerivation(TypeDerivation *dev)
It sets the derivation type of this SimpleContent.
~SimpleContent()
Destructor.
A class that models an XML Schema simpleContent element.
Definition: SimpleContent.h:50
A class that models an XML Schema simpleContent element.
virtual TypeDerivation * clone() const =0
A class that models a XSD annotation element.
Definition: Annotation.h:55