All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AbstractWriterFactory.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 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/xml/AbstractWriterFactory.cpp
22 
23  \brief This is the abstract factory for XML writers.
24 */
25 
26 // TerraLib
27 #include "../common/StringUtils.h"
28 #include "AbstractWriterFactory.h"
29 #include "Writer.h"
30 
32 
34 {
36 }
37 
39 {
40  if(te::common::Convert2UCase(writerType) == "BASIC")
41  return new Writer;
42 
43  std::string uType = te::common::Convert2UCase(writerType);
45 }
46 
47 void te::xml::AbstractWriterFactory::setDefaultWriter(const std::string& writerType)
48 {
49  std::string uType = te::common::Convert2UCase(writerType);
50  sm_defaultWriterType = uType;
51 }
52 
54  : te::common::AbstractFactory<te::xml::AbstractWriter, std::string>(factoryKey)
55 {
56 }
57 
This class models a XML writer object.
Definition: Writer.h:52
static te::xml::AbstractWriter * make()
It creates a new XML writer using the dafault implementation.
static void setDefaultWriter(const std::string &writerType)
It sets the default driver used to create the XML writer objects.
std::string Convert2UCase(const std::string &value)
It converts a string to upper case.
Definition: StringUtils.h:163
This class models a XML writer object.
AbstractWriterFactory(const std::string &factoryKey)
It creates the factory.
static TPRODUCT * make(const TFACTORYKEY &factoryKey)
It creates an object with the appropriated factory.
#define TE_XML_DEFAULT_WRITER_TYPE
The default implementation to be used when creating a XML writer.
Definition: Config.h:58
static std::string sm_defaultWriterType
The type of the writer to be created if no type is informed.
This is the abstract factory for XML writers.
This class models a XML writer object.