aboutsummaryrefslogtreecommitdiff
path: root/src/transformation_facade.h
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-10 15:51:34 +0200
committerAdrian Kummerländer2014-05-10 15:51:34 +0200
commiteb854e72efa780fd6ceb6e7457b6ac6429a54dad (patch)
treebb391243144037e7f5af139477813c8629124446 /src/transformation_facade.h
parent47b3bb0882a838ba794f105f3dc93ec45f5e1727 (diff)
downloadInputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar.gz
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar.bz2
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar.lz
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar.xz
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.tar.zst
InputXSLT-eb854e72efa780fd6ceb6e7457b6ac6429a54dad.zip
Implemented StylesheetParameterGuard class
* removes responsibility for clearing parameters from the generate member methods * abstracts parameter escaping and setting and handles map conversion * marked actual generate member method as private and added StylesheetParameterGuard reference argument ** "frontend" generate member methods instantiate a StylesheetParameterGuard instance and pass it to the actual generate method ** this enables central default parameter definition while offering the possibility for custom parameters
Diffstat (limited to 'src/transformation_facade.h')
-rw-r--r--src/transformation_facade.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/transformation_facade.h b/src/transformation_facade.h
index 4dc087b..3172daa 100644
--- a/src/transformation_facade.h
+++ b/src/transformation_facade.h
@@ -4,28 +4,29 @@
#include <xalanc/XalanTransformer/XalanTransformer.hpp>
#include <string>
-#include <unordered_map>
#include "common.h"
+#include "support/stylesheet_parameter_guard.h"
namespace InputXSLT {
class TransformationFacade {
public:
- typedef std::unordered_map<std::string, std::string> parameter_map;
-
- TransformationFacade(const std::string&);
+ explicit TransformationFacade(const std::string&);
~TransformationFacade();
int generate(const std::string&);
- int generate(const std::string&, const parameter_map&);
+ int generate(
+ const std::string&,
+ const StylesheetParameterGuard::map&
+ );
private:
const xalan::XalanCompiledStylesheet* transformation_;
xalan::XalanTransformer transformer_;
- void setParameters(const parameter_map&);
+ int generate(const std::string&, StylesheetParameterGuard&);
};