Un-deprecated Template constructors with get an "encoding" argument. After all, 
they make sense, as it's what <#ftl encoding=...> is checked against.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/e6ec6c46
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/e6ec6c46
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/e6ec6c46

Branch: refs/heads/2.3
Commit: e6ec6c46e926f8c89647d4475773a7ce49290dfe
Parents: 23852f0
Author: ddekany <[email protected]>
Authored: Sun Feb 5 19:15:54 2017 +0100
Committer: ddekany <[email protected]>
Committed: Sun Feb 5 19:15:54 2017 +0100

----------------------------------------------------------------------
 src/main/java/freemarker/template/Template.java | 25 +++++++-------------
 1 file changed, 9 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/e6ec6c46/src/main/java/freemarker/template/Template.java
----------------------------------------------------------------------
diff --git a/src/main/java/freemarker/template/Template.java 
b/src/main/java/freemarker/template/Template.java
index 51095e5..5b19a33 100644
--- a/src/main/java/freemarker/template/Template.java
+++ b/src/main/java/freemarker/template/Template.java
@@ -136,11 +136,7 @@ public class Template extends Configurable {
     /**
      * Convenience constructor for {@link #Template(String, String, Reader, 
Configuration, String) Template(name, null,
      * reader, cfg, encoding)}.
-     * 
-     * @deprecated In most applications, use {@link #Template(String, Reader, 
Configuration)} instead, which doesn't
-     *             specify the encoding.
      */
-    @Deprecated
     public Template(String name, Reader reader, Configuration cfg, String 
encoding) throws IOException {
         this(name, null, reader, cfg, encoding);
     }
@@ -186,20 +182,17 @@ public class Template extends Configurable {
      * recommended).
      *
      * @param encoding
-     *            This is the encoding that we are supposed to be using. But 
it's not really necessary because we have a
-     *            {@link Reader} which is already decoded, but it's kept as 
meta-info. It also has an impact when
-     *            {@code #include}-ing/{@code #import}-ing another template 
from this template, as its default encoding
-     *            will be this. But this behavior of said directives is 
considered to be harmful, and will be probably
-     *            phased out. Until that, it's better to leave this on {@code 
null}, so that the encoding will come from
-     *            the {@link Configuration}. Note that if this is non-{@code 
null} and there's an {@code #ftl} header
-     *            with encoding, they must match, or else a {@link 
WrongEncodingException} is thrown.
-     * 
-     * @deprecated In most applications, use {@link #Template(String, String, 
Reader, Configuration)} instead, which
-     *             doesn't specify the encoding.
-     * 
+     *            This is the encoding that we are supposed to be using. At 
the first glance it's unnecessary because we
+     *            already have a {@link Reader} (so decoding with the charset 
has already happened), however, if this is
+     *            non-{@code null} and there's an {@code #ftl} header with 
{@code encoding} parameter, they must match,
+     *            or else a {@link WrongEncodingException} is thrown. Thus, it 
should be set if to decode the template,
+     *            we were using an encoding (a charset), otherwise it should 
be {@code null}. It's also kept as
+     *            meta-info (returned by {@link #getEncoding()}). It also has 
an impact when {@code #include}-ing or
+     *            {@code #import}-ing another template from this template, as 
its default encoding will be this. But
+     *            this behavior of said directives is considered to be 
harmful, and will be probably phased out.
+     *             
      * @since 2.3.22
      */
-   @Deprecated
    public Template(
            String name, String sourceName, Reader reader, Configuration cfg, 
String encoding) throws IOException {
        this(name, sourceName, reader, cfg, null, encoding);

Reply via email to