#ifndef __xmltooling_template_h__
#define __xmltooling_template_h__
-#include <xmltooling/io/GenericRequest.h>
+#include <xmltooling/base.h>
#include <map>
#include <string>
namespace xmltooling {
+ class XMLTOOL_API GenericRequest;
+
/**
* Simple template replacement engine. Supports the following:
* <ul>
*/
class XMLTOOL_API TemplateEngine
{
- MAKE_NONCOPYABLE(TemplateEngine);
+ MAKE_NONCOPYABLE(TemplateEngine);
public:
+ /** Default constructor. */
TemplateEngine() {
setTagPrefix("mlp");
}
* Allows callers to supply a more dynamic lookup mechanism to supplement a basic map.
*/
class XMLTOOL_API TemplateParameters {
- // MAKE_NONCOPYABLE(TemplateParameters);
public:
TemplateParameters() : m_request(NULL) {}
virtual ~TemplateParameters() {}
* @param name name of parameter
* @return value of parameter, or NULL
*/
- virtual const char* getParameter(const char* name) const {
- std::map<std::string,std::string>::const_iterator i=m_map.find(name);
- return (i!=m_map.end() ? i->second.c_str() : (m_request ? m_request->getParameter(name) : NULL));
- }
+ virtual const char* getParameter(const char* name) const;
/**
* Returns a named collection of sub-parameters to pass into a loop.
* @param name name of sub-collection
* @return pointer to a multimap of sub-parameters, or NULL
*/
- virtual const std::multimap<std::string,std::string>* getLoopCollection(const char* name) const {
- std::map< std::string,std::multimap<std::string,std::string> >::const_iterator i=m_collectionMap.find(name);
- return (i!=m_collectionMap.end() ? &(i->second) : NULL);
- }
+ virtual const std::multimap<std::string,std::string>* getLoopCollection(const char* name) const;
};
/**
const char*& lastpos,
std::ostream& os,
const TemplateParameters& parameters,
- const std::pair<std::string,std::string>& loopentry,
+ const std::pair<const std::string,std::string>& loopentry,
const XMLToolingException* e
) const;