freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From woon...@apache.org
Subject [28/51] [partial] incubator-freemarker-site git commit: in 2.3.27 release process, uploading the release documentation
Date Mon, 16 Oct 2017 17:00:22 GMT
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/CaptureOutput.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/CaptureOutput.html b/docs/api/freemarker/template/utility/CaptureOutput.html
index 31960a7..f165986 100644
--- a/docs/api/freemarker/template/utility/CaptureOutput.html
+++ b/docs/api/freemarker/template/utility/CaptureOutput.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CaptureOutput (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>CaptureOutput (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CaptureOutput (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="CaptureOutput (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -202,8 +202,7 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/CaptureOutput.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform.</div>
 </td>
 </tr>
 </table>
@@ -257,28 +256,33 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
                  throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">TemplateTransformModel</a></code></span></div>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform. Each call to this method
- must return a new instance of the writer so that the transformation
- is thread-safe.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform. Each call to
+ this method must return a new instance of the writer so that the transformation is thread-safe.
+ <p>
+ This method should not throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>, nor <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> that wasn't caused by writing to
+ the output. Such exceptions should be catched inside the method and wrapped inside a
+ <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template"><code>TemplateModelException</code></a>. (Note that setting <a href="../../../freemarker/template/Configuration.html#setWrapUncheckedExceptions-boolean-"><code>Configuration.setWrapUncheckedExceptions(boolean)</code></a> to
+ <code>true</code> can mitigate the negative effects of implementations that throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>-s.)</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html" title="interface in freemarker.template">TemplateTransformModel</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - the character stream to which to write the transformed output</dd>
-<dd><code>args</code> - the arguments (if any) passed to the transformation as a 
- map of key/value pairs where the keys are strings and the arguments are
- TemplateModel instances. This is never null. If you need to convert the
- template models to POJOs, you can use the utility methods in the 
- <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class.</dd>
+<dd><code>args</code> - the arguments (if any) passed to the transformation as a map of key/value pairs where the keys are
+            strings and the arguments are <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. This is never <code>null</code>. (If you
+            need to convert the template models to POJOs, you can use the utility methods in the
+            <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class. Though it's recommended to work with <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s directly.)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a writer to which the engine will feed the transformation 
- input, or null if the transform does not support nested content (body).
- The returned writer can implement the <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a>
- interface if it needs advanced control over the evaluation of the 
- transformation body.</dd>
+<dd>The <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> to which the engine will write the content to transform, or <code>null</code> if the
+         transform does not support nested content (body). The returned <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> may implements the
+         <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a> interface if it needs advanced control over the evaluation of the nested
+         content. FreeMarker will call <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a> after the transform end-tag. <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a>
+         must not close the <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> received as the <code>out</code> parameter (so if you are using a
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><code>FilterWriter</code></a>, you must override <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true#close--" title="class or interface in java.io"><code>FilterWriter.close()</code></a>, as by default that closes the
+         wrapped <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>). Since 2.3.27 its also allowed to return the <code>out</code> writer as is, in which
+         case it won't be closed.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
+<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code> - If any problem occurs that's not an <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> during writing the template output.</dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/ClassUtil.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/ClassUtil.html b/docs/api/freemarker/template/utility/ClassUtil.html
index b68d107..30ff695 100644
--- a/docs/api/freemarker/template/utility/ClassUtil.html
+++ b/docs/api/freemarker/template/utility/ClassUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassUtil (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>ClassUtil (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassUtil (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="ClassUtil (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -151,12 +151,31 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getReasourceAsStream-java.lang.Class-java.lang.String-boolean-">getReasourceAsStream</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;baseClass,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource,
+                    boolean&nbsp;optional)</code>
+<div class="block">Very similar to <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true#getResourceAsStream-java.lang.String-" title="class or interface in java.lang"><code>Class.getResourceAsStream(String)</code></a>, but throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> instead of returning
+ <code>null</code> if <code>optional</code> is <code>false</code>, and attempts to work around "IllegalStateException: zip file
+ closed" and similar <code>sun.net.www.protocol.jar.JarURLConnection</code>-related glitches.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getReasourceAsStream-java.lang.ClassLoader-java.lang.String-boolean-">getReasourceAsStream</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource,
+                    boolean&nbsp;optional)</code>
+<div class="block">Same as <a href="../../../freemarker/template/utility/ClassUtil.html#getReasourceAsStream-java.lang.Class-java.lang.String-boolean-"><code>getReasourceAsStream(Class, String, boolean)</code></a>, but uses a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang"><code>ClassLoader</code></a> directly
+ instead of a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassName-java.lang.Class-">getShortClassName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pClass)</code>
 <div class="block">Same as <a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassName-java.lang.Class-boolean-"><code>getShortClassName(pClass, false)</code></a>.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassName-java.lang.Class-boolean-">getShortClassName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pClass,
                  boolean&nbsp;shortenFreeMarkerClasses)</code>
@@ -164,13 +183,13 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  <code>int[]</code>; useful for printing class names in error messages.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassNameOfObject-java.lang.Object-">getShortClassNameOfObject</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
 <div class="block">Same as <a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassNameOfObject-java.lang.Object-boolean-"><code>getShortClassNameOfObject(pClass, false)</code></a>.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#getShortClassNameOfObject-java.lang.Object-boolean-">getShortClassNameOfObject</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj,
                          boolean&nbsp;shortenFreeMarkerClasses)</code>
@@ -178,13 +197,21 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  class name <code>Null</code> for a <code>null</code> value.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#isNumerical-java.lang.Class-">isNumerical</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;type)</code>
 <div class="block">Tells if a type is numerical; works both for primitive types and classes.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#loadProperties-java.lang.Class-java.lang.String-">loadProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;baseClass,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource)</code>
+<div class="block">Loads a class loader resource into a <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>; tries to work around "zip file closed" and related
+ <code>sun.net.www.protocol.jar.JarURLConnection</code> glitches.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/ClassUtil.html#primitiveClassToBoxingClass-java.lang.Class-">primitiveClassToBoxingClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;primitiveClass)</code>
 <div class="block">Gets the wrapper class for a primitive class, like <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang"><code>Integer</code></a> for <code>int</code>, also returns <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang"><code>Void</code></a>
@@ -349,7 +376,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <a name="isNumerical-java.lang.Class-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isNumerical</h4>
 <pre>public static&nbsp;boolean&nbsp;isNumerical(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;type)</pre>
@@ -362,6 +389,72 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </dl>
 </li>
 </ul>
+<a name="getReasourceAsStream-java.lang.Class-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReasourceAsStream</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getReasourceAsStream(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;baseClass,
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource,
+                                               boolean&nbsp;optional)
+                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Very similar to <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true#getResourceAsStream-java.lang.String-" title="class or interface in java.lang"><code>Class.getResourceAsStream(String)</code></a>, but throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> instead of returning
+ <code>null</code> if <code>optional</code> is <code>false</code>, and attempts to work around "IllegalStateException: zip file
+ closed" and similar <code>sun.net.www.protocol.jar.JarURLConnection</code>-related glitches. These are caused by bugs
+ outside of FreeMarker. Note that in cases where the JAR resource becomes broken concurrently, similar errors can
+ still occur later when the <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> is read (<a href="../../../freemarker/template/utility/ClassUtil.html#loadProperties-java.lang.Class-java.lang.String-"><code>loadProperties(Class, String)</code></a> works that
+ around as well).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>If <code>optional</code> is <code>false</code>, it's never <code>null</code>, otherwise <code>null</code> indicates that the
+         resource doesn't exist.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If the resource wasn't found, or other <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> occurs.</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.3.27</dd>
+</dl>
+</li>
+</ul>
+<a name="getReasourceAsStream-java.lang.ClassLoader-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReasourceAsStream</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getReasourceAsStream(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader,
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource,
+                                               boolean&nbsp;optional)
+                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Same as <a href="../../../freemarker/template/utility/ClassUtil.html#getReasourceAsStream-java.lang.Class-java.lang.String-boolean-"><code>getReasourceAsStream(Class, String, boolean)</code></a>, but uses a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang"><code>ClassLoader</code></a> directly
+ instead of a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a>.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.3.27</dd>
+</dl>
+</li>
+</ul>
+<a name="loadProperties-java.lang.Class-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>loadProperties</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;loadProperties(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;baseClass,
+                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resource)
+                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Loads a class loader resource into a <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>; tries to work around "zip file closed" and related
+ <code>sun.net.www.protocol.jar.JarURLConnection</code> glitches.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.3.27</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/CollectionUtils.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/CollectionUtils.html b/docs/api/freemarker/template/utility/CollectionUtils.html
index 5d36f47..af61500 100644
--- a/docs/api/freemarker/template/utility/CollectionUtils.html
+++ b/docs/api/freemarker/template/utility/CollectionUtils.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CollectionUtils (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>CollectionUtils (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CollectionUtils (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="CollectionUtils (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/Collections12.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/Collections12.html b/docs/api/freemarker/template/utility/Collections12.html
index a1cd5db..79907c1 100644
--- a/docs/api/freemarker/template/utility/Collections12.html
+++ b/docs/api/freemarker/template/utility/Collections12.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Collections12 (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>Collections12 (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Collections12 (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="Collections12 (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/Constants.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/Constants.html b/docs/api/freemarker/template/utility/Constants.html
index 1299706..42327f5 100644
--- a/docs/api/freemarker/template/utility/Constants.html
+++ b/docs/api/freemarker/template/utility/Constants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Constants (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>Constants (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Constants (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="Constants (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -109,8 +109,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <div class="block">Frequently used constant <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> values.
  
  <p>These constants should be stored in the <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>
- sub-interfaces, but for bacward compatibility they are stored here instead.
- Starting from FreeMarker 2.4 they should be copyed (not moved!) into the
+ sub-interfaces, but for backward compatibility they are stored here instead.
+ Starting from FreeMarker 2.4 they should be copied (not moved!) into the
  <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> sub-interfaces, and this class should be marked as
  deprecated.</p></div>
 </li>
@@ -144,30 +144,34 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#EMPTY_ITERATOR">EMPTY_ITERATOR</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePairIterator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#EMPTY_KEY_VALUE_PAIR_ITERATOR">EMPTY_KEY_VALUE_PAIR_ITERATOR</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#EMPTY_SEQUENCE">EMPTY_SEQUENCE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateScalarModel.html" title="interface in freemarker.template">TemplateScalarModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#EMPTY_STRING">EMPTY_STRING</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateBooleanModel.html" title="interface in freemarker.template">TemplateBooleanModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#FALSE">FALSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateNumberModel.html" title="interface in freemarker.template">TemplateNumberModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#MINUS_ONE">MINUS_ONE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateNumberModel.html" title="interface in freemarker.template">TemplateNumberModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#ONE">ONE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateBooleanModel.html" title="interface in freemarker.template">TemplateBooleanModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#TRUE">TRUE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/template/TemplateNumberModel.html" title="interface in freemarker.template">TemplateNumberModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/Constants.html#ZERO">ZERO</a></span></code>&nbsp;</td>
 </tr>
@@ -302,12 +306,25 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <a name="EMPTY_HASH">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_HASH</h4>
 <pre>public static final&nbsp;<a href="../../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template">TemplateHashModelEx</a> EMPTY_HASH</pre>
 </li>
 </ul>
+<a name="EMPTY_KEY_VALUE_PAIR_ITERATOR">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EMPTY_KEY_VALUE_PAIR_ITERATOR</h4>
+<pre>public static final&nbsp;<a href="../../../freemarker/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePairIterator</a> EMPTY_KEY_VALUE_PAIR_ITERATOR</pre>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.3.27</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DOMNodeModel.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DOMNodeModel.html b/docs/api/freemarker/template/utility/DOMNodeModel.html
index 9918fbe..05a5b97 100644
--- a/docs/api/freemarker/template/utility/DOMNodeModel.html
+++ b/docs/api/freemarker/template/utility/DOMNodeModel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DOMNodeModel (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DOMNodeModel (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DOMNodeModel (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DOMNodeModel (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.CalendarFieldsToDateConverter.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.CalendarFieldsToDateConverter.html b/docs/api/freemarker/template/utility/DateUtil.CalendarFieldsToDateConverter.html
index 7d120e1..879d90b 100644
--- a/docs/api/freemarker/template/utility/DateUtil.CalendarFieldsToDateConverter.html
+++ b/docs/api/freemarker/template/utility/DateUtil.CalendarFieldsToDateConverter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil.CalendarFieldsToDateConverter (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil.CalendarFieldsToDateConverter (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil.CalendarFieldsToDateConverter (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil.CalendarFieldsToDateConverter (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.DateParseException.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.DateParseException.html b/docs/api/freemarker/template/utility/DateUtil.DateParseException.html
index 292a491..d266502 100644
--- a/docs/api/freemarker/template/utility/DateUtil.DateParseException.html
+++ b/docs/api/freemarker/template/utility/DateUtil.DateParseException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil.DateParseException (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil.DateParseException (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil.DateParseException (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil.DateParseException (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.DateToISO8601CalendarFactory.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.DateToISO8601CalendarFactory.html b/docs/api/freemarker/template/utility/DateUtil.DateToISO8601CalendarFactory.html
index 5569113..f78a39d 100644
--- a/docs/api/freemarker/template/utility/DateUtil.DateToISO8601CalendarFactory.html
+++ b/docs/api/freemarker/template/utility/DateUtil.DateToISO8601CalendarFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil.DateToISO8601CalendarFactory (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil.DateToISO8601CalendarFactory (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil.DateToISO8601CalendarFactory (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil.DateToISO8601CalendarFactory (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.TrivialCalendarFieldsToDateConverter.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.TrivialCalendarFieldsToDateConverter.html b/docs/api/freemarker/template/utility/DateUtil.TrivialCalendarFieldsToDateConverter.html
index cb7bf4f..b5150ad 100644
--- a/docs/api/freemarker/template/utility/DateUtil.TrivialCalendarFieldsToDateConverter.html
+++ b/docs/api/freemarker/template/utility/DateUtil.TrivialCalendarFieldsToDateConverter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil.TrivialCalendarFieldsToDateConverter (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil.TrivialCalendarFieldsToDateConverter (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil.TrivialCalendarFieldsToDateConverter (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil.TrivialCalendarFieldsToDateConverter (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.TrivialDateToISO8601CalendarFactory.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.TrivialDateToISO8601CalendarFactory.html b/docs/api/freemarker/template/utility/DateUtil.TrivialDateToISO8601CalendarFactory.html
index 75edf1f..ea60bb3 100644
--- a/docs/api/freemarker/template/utility/DateUtil.TrivialDateToISO8601CalendarFactory.html
+++ b/docs/api/freemarker/template/utility/DateUtil.TrivialDateToISO8601CalendarFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil.TrivialDateToISO8601CalendarFactory (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil.TrivialDateToISO8601CalendarFactory (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil.TrivialDateToISO8601CalendarFactory (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil.TrivialDateToISO8601CalendarFactory (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DateUtil.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DateUtil.html b/docs/api/freemarker/template/utility/DateUtil.html
index add159c..e9f9b64 100644
--- a/docs/api/freemarker/template/utility/DateUtil.html
+++ b/docs/api/freemarker/template/utility/DateUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateUtil (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DateUtil (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateUtil (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DateUtil (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/DeepUnwrap.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/DeepUnwrap.html b/docs/api/freemarker/template/utility/DeepUnwrap.html
index 0aec3a7..c7a26cf 100644
--- a/docs/api/freemarker/template/utility/DeepUnwrap.html
+++ b/docs/api/freemarker/template/utility/DeepUnwrap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeepUnwrap (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>DeepUnwrap (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeepUnwrap (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="DeepUnwrap (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -276,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <h4>premissiveUnwrap</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
 public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;premissiveUnwrap(<a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;model)
-                                            throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
+                                           throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the name of this method is mistyped. Use 
  <a href="../../../freemarker/template/utility/DeepUnwrap.html#permissiveUnwrap-freemarker.template.TemplateModel-"><code>permissiveUnwrap(TemplateModel)</code></a> instead.</span></div>
 <dl>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/Execute.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/Execute.html b/docs/api/freemarker/template/utility/Execute.html
index 57ccb9d..56c6149 100644
--- a/docs/api/freemarker/template/utility/Execute.html
+++ b/docs/api/freemarker/template/utility/Execute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Execute (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>Execute (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Execute (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="Execute (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/HtmlEscape.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/HtmlEscape.html b/docs/api/freemarker/template/utility/HtmlEscape.html
index 209a52e..1bb7047 100644
--- a/docs/api/freemarker/template/utility/HtmlEscape.html
+++ b/docs/api/freemarker/template/utility/HtmlEscape.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HtmlEscape (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>HtmlEscape (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HtmlEscape (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="HtmlEscape (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -198,8 +198,7 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/HtmlEscape.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</code>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform.</div>
 </td>
 </tr>
 </table>
@@ -250,26 +249,31 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;getWriter(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">TemplateTransformModel</a></code></span></div>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform. Each call to this method
- must return a new instance of the writer so that the transformation
- is thread-safe.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform. Each call to
+ this method must return a new instance of the writer so that the transformation is thread-safe.
+ <p>
+ This method should not throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>, nor <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> that wasn't caused by writing to
+ the output. Such exceptions should be catched inside the method and wrapped inside a
+ <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template"><code>TemplateModelException</code></a>. (Note that setting <a href="../../../freemarker/template/Configuration.html#setWrapUncheckedExceptions-boolean-"><code>Configuration.setWrapUncheckedExceptions(boolean)</code></a> to
+ <code>true</code> can mitigate the negative effects of implementations that throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>-s.)</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html" title="interface in freemarker.template">TemplateTransformModel</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - the character stream to which to write the transformed output</dd>
-<dd><code>args</code> - the arguments (if any) passed to the transformation as a 
- map of key/value pairs where the keys are strings and the arguments are
- TemplateModel instances. This is never null. If you need to convert the
- template models to POJOs, you can use the utility methods in the 
- <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class.</dd>
+<dd><code>args</code> - the arguments (if any) passed to the transformation as a map of key/value pairs where the keys are
+            strings and the arguments are <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. This is never <code>null</code>. (If you
+            need to convert the template models to POJOs, you can use the utility methods in the
+            <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class. Though it's recommended to work with <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s directly.)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a writer to which the engine will feed the transformation 
- input, or null if the transform does not support nested content (body).
- The returned writer can implement the <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a>
- interface if it needs advanced control over the evaluation of the 
- transformation body.</dd>
+<dd>The <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> to which the engine will write the content to transform, or <code>null</code> if the
+         transform does not support nested content (body). The returned <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> may implements the
+         <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a> interface if it needs advanced control over the evaluation of the nested
+         content. FreeMarker will call <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a> after the transform end-tag. <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a>
+         must not close the <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> received as the <code>out</code> parameter (so if you are using a
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><code>FilterWriter</code></a>, you must override <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true#close--" title="class or interface in java.io"><code>FilterWriter.close()</code></a>, as by default that closes the
+         wrapped <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>). Since 2.3.27 its also allowed to return the <code>out</code> writer as is, in which
+         case it won't be closed.</dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/JythonRuntime.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/JythonRuntime.html b/docs/api/freemarker/template/utility/JythonRuntime.html
index b4974e8..3f4e28f 100644
--- a/docs/api/freemarker/template/utility/JythonRuntime.html
+++ b/docs/api/freemarker/template/utility/JythonRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JythonRuntime (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>JythonRuntime (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JythonRuntime (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="JythonRuntime (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -184,8 +184,7 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/JythonRuntime.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</code>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform.</div>
 </td>
 </tr>
 </table>
@@ -243,26 +242,31 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;getWriter(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">TemplateTransformModel</a></code></span></div>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform. Each call to this method
- must return a new instance of the writer so that the transformation
- is thread-safe.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform. Each call to
+ this method must return a new instance of the writer so that the transformation is thread-safe.
+ <p>
+ This method should not throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>, nor <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> that wasn't caused by writing to
+ the output. Such exceptions should be catched inside the method and wrapped inside a
+ <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template"><code>TemplateModelException</code></a>. (Note that setting <a href="../../../freemarker/template/Configuration.html#setWrapUncheckedExceptions-boolean-"><code>Configuration.setWrapUncheckedExceptions(boolean)</code></a> to
+ <code>true</code> can mitigate the negative effects of implementations that throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>-s.)</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html" title="interface in freemarker.template">TemplateTransformModel</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - the character stream to which to write the transformed output</dd>
-<dd><code>args</code> - the arguments (if any) passed to the transformation as a 
- map of key/value pairs where the keys are strings and the arguments are
- TemplateModel instances. This is never null. If you need to convert the
- template models to POJOs, you can use the utility methods in the 
- <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class.</dd>
+<dd><code>args</code> - the arguments (if any) passed to the transformation as a map of key/value pairs where the keys are
+            strings and the arguments are <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. This is never <code>null</code>. (If you
+            need to convert the template models to POJOs, you can use the utility methods in the
+            <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class. Though it's recommended to work with <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s directly.)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a writer to which the engine will feed the transformation 
- input, or null if the transform does not support nested content (body).
- The returned writer can implement the <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a>
- interface if it needs advanced control over the evaluation of the 
- transformation body.</dd>
+<dd>The <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> to which the engine will write the content to transform, or <code>null</code> if the
+         transform does not support nested content (body). The returned <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> may implements the
+         <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a> interface if it needs advanced control over the evaluation of the nested
+         content. FreeMarker will call <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a> after the transform end-tag. <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a>
+         must not close the <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> received as the <code>out</code> parameter (so if you are using a
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><code>FilterWriter</code></a>, you must override <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true#close--" title="class or interface in java.io"><code>FilterWriter.close()</code></a>, as by default that closes the
+         wrapped <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>). Since 2.3.27 its also allowed to return the <code>out</code> writer as is, in which
+         case it won't be closed.</dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/NormalizeNewlines.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/NormalizeNewlines.html b/docs/api/freemarker/template/utility/NormalizeNewlines.html
index c415a2b..2e774a4 100644
--- a/docs/api/freemarker/template/utility/NormalizeNewlines.html
+++ b/docs/api/freemarker/template/utility/NormalizeNewlines.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NormalizeNewlines (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>NormalizeNewlines (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NormalizeNewlines (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="NormalizeNewlines (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {
@@ -200,8 +200,7 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/NormalizeNewlines.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</code>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -259,26 +258,31 @@ implements <a href="../../../freemarker/template/TemplateTransformModel.html" ti
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;getWriter(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;args)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">TemplateTransformModel</a></code></span></div>
-<div class="block">Returns a writer that will be used by the engine to feed the
- transformation input to the transform. Each call to this method
- must return a new instance of the writer so that the transformation
- is thread-safe.</div>
+<div class="block">Returns a writer that will be used by the engine to feed the transformation input to the transform. Each call to
+ this method must return a new instance of the writer so that the transformation is thread-safe.
+ <p>
+ This method should not throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>, nor <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> that wasn't caused by writing to
+ the output. Such exceptions should be catched inside the method and wrapped inside a
+ <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template"><code>TemplateModelException</code></a>. (Note that setting <a href="../../../freemarker/template/Configuration.html#setWrapUncheckedExceptions-boolean-"><code>Configuration.setWrapUncheckedExceptions(boolean)</code></a> to
+ <code>true</code> can mitigate the negative effects of implementations that throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>-s.)</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../freemarker/template/TemplateTransformModel.html#getWriter-java.io.Writer-java.util.Map-">getWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateTransformModel.html" title="interface in freemarker.template">TemplateTransformModel</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - the character stream to which to write the transformed output</dd>
-<dd><code>args</code> - the arguments (if any) passed to the transformation as a 
- map of key/value pairs where the keys are strings and the arguments are
- TemplateModel instances. This is never null. If you need to convert the
- template models to POJOs, you can use the utility methods in the 
- <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class.</dd>
+<dd><code>args</code> - the arguments (if any) passed to the transformation as a map of key/value pairs where the keys are
+            strings and the arguments are <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. This is never <code>null</code>. (If you
+            need to convert the template models to POJOs, you can use the utility methods in the
+            <a href="../../../freemarker/template/utility/DeepUnwrap.html" title="class in freemarker.template.utility"><code>DeepUnwrap</code></a> class. Though it's recommended to work with <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s directly.)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a writer to which the engine will feed the transformation 
- input, or null if the transform does not support nested content (body).
- The returned writer can implement the <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a>
- interface if it needs advanced control over the evaluation of the 
- transformation body.</dd>
+<dd>The <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> to which the engine will write the content to transform, or <code>null</code> if the
+         transform does not support nested content (body). The returned <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> may implements the
+         <a href="../../../freemarker/template/TransformControl.html" title="interface in freemarker.template"><code>TransformControl</code></a> interface if it needs advanced control over the evaluation of the nested
+         content. FreeMarker will call <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a> after the transform end-tag. <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true#close--" title="class or interface in java.io"><code>Writer.close()</code></a>
+         must not close the <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> received as the <code>out</code> parameter (so if you are using a
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><code>FilterWriter</code></a>, you must override <a href="http://docs.oracle.com/javase/8/docs/api/java/io/FilterWriter.html?is-external=true#close--" title="class or interface in java.io"><code>FilterWriter.close()</code></a>, as by default that closes the
+         wrapped <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>). Since 2.3.27 its also allowed to return the <code>out</code> writer as is, in which
+         case it won't be closed.</dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/NullArgumentException.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/NullArgumentException.html b/docs/api/freemarker/template/utility/NullArgumentException.html
index 79bca5f..bae29c1 100644
--- a/docs/api/freemarker/template/utility/NullArgumentException.html
+++ b/docs/api/freemarker/template/utility/NullArgumentException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NullArgumentException (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>NullArgumentException (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NullArgumentException (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="NullArgumentException (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/NullWriter.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/NullWriter.html b/docs/api/freemarker/template/utility/NullWriter.html
index c1da5ae..23671ec 100644
--- a/docs/api/freemarker/template/utility/NullWriter.html
+++ b/docs/api/freemarker/template/utility/NullWriter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NullWriter (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>NullWriter (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NullWriter (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="NullWriter (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/NumberUtil.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/NumberUtil.html b/docs/api/freemarker/template/utility/NumberUtil.html
index 388dfe4..19fe271 100644
--- a/docs/api/freemarker/template/utility/NumberUtil.html
+++ b/docs/api/freemarker/template/utility/NumberUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NumberUtil (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>NumberUtil (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NumberUtil (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="NumberUtil (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/ObjectConstructor.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/ObjectConstructor.html b/docs/api/freemarker/template/utility/ObjectConstructor.html
index 1ee095b..979f271 100644
--- a/docs/api/freemarker/template/utility/ObjectConstructor.html
+++ b/docs/api/freemarker/template/utility/ObjectConstructor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectConstructor (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>ObjectConstructor (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectConstructor (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="ObjectConstructor (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/ObjectFactory.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/ObjectFactory.html b/docs/api/freemarker/template/utility/ObjectFactory.html
index 047ea1d..1885724 100644
--- a/docs/api/freemarker/template/utility/ObjectFactory.html
+++ b/docs/api/freemarker/template/utility/ObjectFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectFactory (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>ObjectFactory (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectFactory (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="ObjectFactory (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/1be96ba0/docs/api/freemarker/template/utility/ObjectWrapperWithAPISupport.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/ObjectWrapperWithAPISupport.html b/docs/api/freemarker/template/utility/ObjectWrapperWithAPISupport.html
index 07528fa..22b2192 100644
--- a/docs/api/freemarker/template/utility/ObjectWrapperWithAPISupport.html
+++ b/docs/api/freemarker/template/utility/ObjectWrapperWithAPISupport.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Sun Oct 15 21:19:46 EDT 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectWrapperWithAPISupport (FreeMarker 2.3.26-incubating API)</title>
-<meta name="date" content="2017-03-25">
+<title>ObjectWrapperWithAPISupport (FreeMarker 2.3.27-incubating API)</title>
+<meta name="date" content="2017-10-15">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectWrapperWithAPISupport (FreeMarker 2.3.26-incubating API)";
+            parent.document.title="ObjectWrapperWithAPISupport (FreeMarker 2.3.27-incubating API)";
         }
     }
     catch(err) {



Mime
View raw message