-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * UCAID licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the
+ * License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific
+ * language governing permissions and limitations under the License.
*/
/**
#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:
- TemplateEngine() {
- setTagPrefix("mlp");
- }
+ /** Default constructor. */
+ TemplateEngine();
- virtual ~TemplateEngine() {}
+ virtual ~TemplateEngine();
/**
* Sets the tag name to use when locating template replacement tags.
* 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() {}
+ TemplateParameters();
+ virtual ~TemplateParameters();
/** Map of known parameters to supply to template. */
std::map<std::string,std::string> m_map;
* Returns the value of a parameter to plug into the template.
*
* @param name name of parameter
- * @return value of parameter, or NULL
+ * @return value of parameter, or nullptr
*/
- 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
+ * @return pointer to a multimap of sub-parameters, or nullptr
*/
- 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;
};
/**
std::istream& is,
std::ostream& os,
const TemplateParameters& parameters,
- const XMLToolingException* e=NULL
+ const XMLToolingException* e=nullptr
) const;
/**
static std::string unsafe_chars;
private:
- void trimspace(std::string& s) const;
void html_encode(std::ostream& os, const char* start) const;
void process(
bool visible,