You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/05/22 21:01:12 UTC
[1/2] incubator-freemarker git commit: Configuration-related int
constants were replaced with enums:
Repository: incubator-freemarker
Updated Branches:
refs/heads/3 be5568979 -> 99ac69739
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/ParsingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ParsingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ParsingConfiguration.java
index 0eb9569..6b40359 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ParsingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ParsingConfiguration.java
@@ -21,7 +21,6 @@ package org.apache.freemarker.core;
import java.nio.charset.Charset;
import org.apache.freemarker.core.arithmetic.ArithmeticEngine;
-import org.apache.freemarker.core.outputformat.MarkupOutputFormat;
import org.apache.freemarker.core.outputformat.OutputFormat;
import org.apache.freemarker.core.outputformat.impl.HTMLOutputFormat;
import org.apache.freemarker.core.outputformat.impl.UndefinedOutputFormat;
@@ -37,27 +36,6 @@ import org.apache.freemarker.core.outputformat.impl.XMLOutputFormat;
*/
public interface ParsingConfiguration {
- int AUTO_DETECT_NAMING_CONVENTION = 10;
- int LEGACY_NAMING_CONVENTION = 11;
- int CAMEL_CASE_NAMING_CONVENTION = 12;
-
- int AUTO_DETECT_TAG_SYNTAX = 0;
- int ANGLE_BRACKET_TAG_SYNTAX = 1;
- int SQUARE_BRACKET_TAG_SYNTAX = 2;
-
- /**
- * Don't enable auto-escaping, regardless of what the {@link OutputFormat} is. Note that a {@code
- * <#ftl auto_esc=true>} in the template will override this.
- */
- int DISABLE_AUTO_ESCAPING_POLICY = 20;
- /**
- * Enable auto-escaping if the output format supports it and {@link MarkupOutputFormat#isAutoEscapedByDefault()} is
- * {@code true}.
- */
- int ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY = 21;
- /** Enable auto-escaping if the {@link OutputFormat} supports it. */
- int ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY = 22;
-
/**
* The template language used; this is often overridden for certain file extension with the
* {@link Configuration#getTemplateConfigurations() templateConfigurations} setting of the {@link Configuration}.
@@ -71,25 +49,25 @@ public interface ParsingConfiguration {
* that has no {@code #ftl} in it. The {@code tagSyntax}
* parameter must be one of:
* <ul>
- * <li>{@link #AUTO_DETECT_TAG_SYNTAX}:
+ * <li>{@link TagSyntax#AUTO_DETECT}:
* use the syntax of the first FreeMarker tag (can be anything, like <tt>#list</tt>,
* <tt>#include</tt>, user defined, etc.)
- * <li>{@link #ANGLE_BRACKET_TAG_SYNTAX}:
+ * <li>{@link TagSyntax#ANGLE_BRACKET}:
* use the angle bracket syntax (the normal syntax)
- * <li>{@link #SQUARE_BRACKET_TAG_SYNTAX}:
+ * <li>{@link TagSyntax#SQUARE_BRACKET}:
* use the square bracket syntax
* </ul>
*
- * <p>In FreeMarker 2.3.x {@link #ANGLE_BRACKET_TAG_SYNTAX} is the
+ * <p>In FreeMarker 2.3.x {@link TagSyntax#ANGLE_BRACKET} is the
* default for better backward compatibility. Starting from 2.4.x {@link
- * ParsingConfiguration#AUTO_DETECT_TAG_SYNTAX} is the default, so it's recommended to use
+ * TagSyntax#AUTO_DETECT} is the default, so it's recommended to use
* that even for 2.3.x.
*
* <p>This setting is ignored for the templates that have {@code ftl} directive in
* it. For those templates the syntax used for the {@code ftl} directive determines
* the syntax.
*/
- int getTagSyntax();
+ TagSyntax getTagSyntax();
/**
* Tells if this setting is set directly in this object. If not, then depending on the implementing class, reading
@@ -113,14 +91,15 @@ public interface ParsingConfiguration {
*
* <p>
* Which convention to use: FreeMarker prior to 2.3.23 has only supported
- * {@link #LEGACY_NAMING_CONVENTION}, so that's how most templates and examples out there are written
+ * {@link NamingConvention#LEGACY}, so that's how most templates and examples out there are
+ * written
* as of 2015. But as templates today are mostly written by programmers and often access Java API-s which already
- * use camel case, {@link #CAMEL_CASE_NAMING_CONVENTION} is the recommended option for most projects.
+ * use camel case, {@link NamingConvention#CAMEL_CASE} is the recommended option for most projects.
* However, it's no necessary to make a application-wide decision; see auto-detection below.
*
* <p>
* FreeMarker will decide the naming convention automatically for each template individually when this setting is
- * set to {@link #AUTO_DETECT_NAMING_CONVENTION} (which is the default). The naming convention of a template is
+ * set to {@link NamingConvention#AUTO_DETECT} (which is the default). The naming convention of a template is
* decided when the first core (non-user-defined) identifier is met during parsing (not during processing) where the
* naming convention is relevant (like for {@code s?upperCase} or {@code s?upper_case} it's relevant, but for
* {@code s?length} it isn't). At that point, the naming convention of the template is decided, and any later core
@@ -130,15 +109,15 @@ public interface ParsingConfiguration {
*
* <p>
* FreeMarker always enforces the same naming convention to be used consistently within the same template "file".
- * Additionally, when this setting is set to non-{@link #AUTO_DETECT_NAMING_CONVENTION}, the selected naming
+ * Additionally, when this setting is set to non-{@link NamingConvention#AUTO_DETECT}, the selected naming
* convention is enforced on all templates. Thus such a setup can be used to enforce an application-wide naming
* convention.
*
* @return
- * One of the {@link #AUTO_DETECT_NAMING_CONVENTION} or
- * {@link #LEGACY_NAMING_CONVENTION} or {@link #CAMEL_CASE_NAMING_CONVENTION}.
+ * One of the {@link NamingConvention#AUTO_DETECT} or
+ * {@link NamingConvention#LEGACY} or {@link NamingConvention#CAMEL_CASE}.
*/
- int getNamingConvention();
+ NamingConvention getNamingConvention();
/**
* Tells if this setting is set directly in this object. If not, then depending on the implementing class, reading
@@ -175,7 +154,7 @@ public interface ParsingConfiguration {
/**
* See {@link Configuration#getAutoEscapingPolicy()}.
*/
- int getAutoEscapingPolicy();
+ AutoEscapingPolicy getAutoEscapingPolicy();
/**
* Tells if this setting is set directly in this object. If not, then depending on the implementing class, reading
@@ -225,12 +204,12 @@ public interface ParsingConfiguration {
* (i.e., {@link HTMLOutputFormat#INSTANCE}, unless the {@code "HTML"} name is overridden by
* the {@link Configuration#getRegisteredCustomOutputFormats registeredOutputFormats} setting) and
* the {@link #getAutoEscapingPolicy() autoEscapingPolicy} setting to
- * {@link #ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY}.
+ * {@link AutoEscapingPolicy#ENABLE_IF_DEFAULT}.
* <li>{@code ftlx}: Sets the {@link #getOutputFormat() outputFormat} setting to
* {@code "XML"} (i.e., {@link XMLOutputFormat#INSTANCE}, unless the {@code "XML"} name is overridden by
* the {@link Configuration#getRegisteredCustomOutputFormats registeredOutputFormats} setting) and
* the {@link #getAutoEscapingPolicy() autoEscapingPolicy} setting to
- * {@link #ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY}.
+ * {@link AutoEscapingPolicy#ENABLE_IF_DEFAULT}.
* </ul>
*
* <p>These file extensions are not case sensitive. The file extension is the part after the last dot in the source
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/TagSyntax.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TagSyntax.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TagSyntax.java
new file mode 100644
index 0000000..423ab9c
--- /dev/null
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TagSyntax.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.freemarker.core;
+
+/**
+ * Used as the value of the {@link ParsingConfiguration#getTagSyntax()} tagSyntax} setting.
+ */
+public enum TagSyntax {
+ AUTO_DETECT,
+ ANGLE_BRACKET,
+ SQUARE_BRACKET
+}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
index c4787e4..7562b85 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
@@ -115,12 +115,12 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
private Map<String, Serializable> customAttributes;
private transient Map<Object, Object> mergedCustomAttributes;
- private Integer autoEscapingPolicy;
+ private AutoEscapingPolicy autoEscapingPolicy;
// Values from template content that are detected automatically:
private Charset actualSourceEncoding;
- private int actualTagSyntax;
+ private TagSyntax actualTagSyntax;
- private int actualNamingConvention;
+ private NamingConvention actualNamingConvention;
// Custom state:
private final Object customStateMapLock = new Object();
private final ConcurrentHashMap<CustomStateKey, Object> customStateMap = new ConcurrentHashMap<>(0);
@@ -283,7 +283,7 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
Template(
String lookupName, String sourceName, Reader reader,
Configuration configuration, TemplateConfiguration templateConfiguration,
- OutputFormat contextOutputFormat, Integer contextAutoEscapingPolicy,
+ OutputFormat contextOutputFormat, AutoEscapingPolicy contextAutoEscapingPolicy,
Charset actualSourceEncoding, InputStream streamToUnmarkWhenEncEstabd) throws IOException, ParseException {
_NullArgumentException.check("configuration", configuration);
this.cfg = configuration;
@@ -659,27 +659,27 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
/**
* Returns the tag syntax the parser has chosen for this template. If the syntax could be determined, it's
- * {@link ParsingConfiguration#SQUARE_BRACKET_TAG_SYNTAX} or {@link ParsingConfiguration#ANGLE_BRACKET_TAG_SYNTAX}. If the syntax
+ * {@link TagSyntax#SQUARE_BRACKET} or {@link TagSyntax#ANGLE_BRACKET}. If the syntax
* couldn't be determined (like because there was no tags in the template, or it was a plain text template), this
* returns whatever the default is in the current configuration, so it's maybe
- * {@link ParsingConfiguration#AUTO_DETECT_TAG_SYNTAX}.
+ * {@link TagSyntax#AUTO_DETECT}.
*
* @since 2.3.20
*/
- public int getActualTagSyntax() {
+ public TagSyntax getActualTagSyntax() {
return actualTagSyntax;
}
/**
* Returns the naming convention the parser has chosen for this template. If it could be determined, it's
- * {@link ParsingConfiguration#LEGACY_NAMING_CONVENTION} or {@link ParsingConfiguration#CAMEL_CASE_NAMING_CONVENTION}. If it
+ * {@link NamingConvention#LEGACY} or {@link NamingConvention#CAMEL_CASE}. If it
* couldn't be determined (like because there no identifier that's part of the template language was used where
* the naming convention matters), this returns whatever the default is in the current configuration, so it's maybe
- * {@link ParsingConfiguration#AUTO_DETECT_TAG_SYNTAX}.
+ * {@link TagSyntax#AUTO_DETECT}.
*
* @since 2.3.23
*/
- public int getActualNamingConvention() {
+ public NamingConvention getActualNamingConvention() {
return actualNamingConvention;
}
@@ -709,7 +709,7 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
* {@link Configuration#getAutoEscapingPolicy()}, {@link ParsingConfiguration#getAutoEscapingPolicy()},
* {@code #ftl} header's {@code auto_esc} option in the template.
*/
- public int getAutoEscapingPolicy() {
+ public AutoEscapingPolicy getAutoEscapingPolicy() {
return autoEscapingPolicy != null ? autoEscapingPolicy
: tCfg != null && tCfg.isAutoEscapingPolicySet() ? tCfg.getAutoEscapingPolicy()
: cfg.getAutoEscapingPolicy();
@@ -718,7 +718,7 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
/**
* Should be called by the parser, for example to apply the auto escaping policy specified in the #ftl header.
*/
- void setAutoEscapingPolicy(int autoEscapingPolicy) {
+ void setAutoEscapingPolicy(AutoEscapingPolicy autoEscapingPolicy) {
this.autoEscapingPolicy = autoEscapingPolicy;
}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
index a8fc5ae..77a40bb 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
@@ -84,10 +84,10 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
private final Map<Object, Object> customAttributes;
private final TemplateLanguage templateLanguage;
- private final Integer tagSyntax;
- private final Integer namingConvention;
+ private final TagSyntax tagSyntax;
+ private final NamingConvention namingConvention;
private final Boolean whitespaceStripping;
- private final Integer autoEscapingPolicy;
+ private final AutoEscapingPolicy autoEscapingPolicy;
private final Boolean recognizeStandardFileExtensions;
private final OutputFormat outputFormat;
private final Charset sourceEncoding;
@@ -185,7 +185,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- public int getTagSyntax() {
+ public TagSyntax getTagSyntax() {
if (!isTagSyntaxSet()) {
throw new SettingValueNotSetException("tagSyntax");
}
@@ -211,7 +211,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- public int getNamingConvention() {
+ public NamingConvention getNamingConvention() {
if (!isNamingConventionSet()) {
throw new SettingValueNotSetException("namingConvention");
}
@@ -237,7 +237,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- public int getAutoEscapingPolicy() {
+ public AutoEscapingPolicy getAutoEscapingPolicy() {
if (!isAutoEscapingPolicySet()) {
throw new SettingValueNotSetException("autoEscapingPolicy");
}
@@ -942,7 +942,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- protected int getDefaultTagSyntax() {
+ protected TagSyntax getDefaultTagSyntax() {
throw new SettingValueNotSetException("tagSyntax");
}
@@ -952,7 +952,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- protected int getDefaultNamingConvention() {
+ protected NamingConvention getDefaultNamingConvention() {
throw new SettingValueNotSetException("namingConvention");
}
@@ -962,7 +962,7 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
}
@Override
- protected int getDefaultAutoEscapingPolicy() {
+ protected AutoEscapingPolicy getDefaultAutoEscapingPolicy() {
throw new SettingValueNotSetException("autoEscapingPolicy");
}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateParsingConfigurationWithFallback.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateParsingConfigurationWithFallback.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateParsingConfigurationWithFallback.java
index 93a5840..30414a7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateParsingConfigurationWithFallback.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateParsingConfigurationWithFallback.java
@@ -48,7 +48,7 @@ final class TemplateParsingConfigurationWithFallback implements ParsingConfigura
}
@Override
- public int getTagSyntax() {
+ public TagSyntax getTagSyntax() {
return tCfg.isTagSyntaxSet() ? tCfg.getTagSyntax() : cfg.getTagSyntax();
}
@@ -58,7 +58,7 @@ final class TemplateParsingConfigurationWithFallback implements ParsingConfigura
}
@Override
- public int getNamingConvention() {
+ public NamingConvention getNamingConvention() {
return tCfg.isNamingConventionSet() ? tCfg.getNamingConvention() : cfg.getNamingConvention();
}
@@ -88,7 +88,7 @@ final class TemplateParsingConfigurationWithFallback implements ParsingConfigura
}
@Override
- public int getAutoEscapingPolicy() {
+ public AutoEscapingPolicy getAutoEscapingPolicy() {
return tCfg.isAutoEscapingPolicySet() ? tCfg.getAutoEscapingPolicy() : cfg.getAutoEscapingPolicy();
}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
index 2d09062..5dfa623 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
@@ -225,7 +225,7 @@ public class _ErrorDescriptionBuilder {
|| (partStr.charAt(1) == '/') && (partStr.charAt(2) == '#' || partStr.charAt(2) == '@')
)
&& partStr.charAt(partStr.length() - 1) == '>') {
- if (template.getActualTagSyntax() == ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX) {
+ if (template.getActualTagSyntax() == TagSyntax.SQUARE_BRACKET) {
sb.append('[');
sb.append(partStr.substring(1, partStr.length() - 1));
sb.append(']');
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
index cc96d81..6a51764 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
@@ -697,7 +697,10 @@ public class _ObjectBuilderSettingEvaluator {
}
// For accessing static fields:
- addWithSimpleName(SHORTHANDS, Configuration.class);
+ addWithSimpleName(SHORTHANDS, Configuration.class); // [FM3] Won't be needed
+ addWithSimpleName(SHORTHANDS, TagSyntax.class);
+ addWithSimpleName(SHORTHANDS, NamingConvention.class);
+
}
String fullClassName = SHORTHANDS.get(className);
return fullClassName == null ? className : fullClassName;
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
index b53aae8..4035a1f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
@@ -30,7 +30,7 @@ import java.util.StringTokenizer;
import java.util.regex.Pattern;
import org.apache.freemarker.core.Environment;
-import org.apache.freemarker.core.ParsingConfiguration;
+import org.apache.freemarker.core.NamingConvention;
import org.apache.freemarker.core.Template;
import org.apache.freemarker.core.Version;
@@ -1604,21 +1604,21 @@ public class _StringUtil {
}
/**
- * @return {@link ParsingConfiguration#CAMEL_CASE_NAMING_CONVENTION}, or {@link ParsingConfiguration#LEGACY_NAMING_CONVENTION}
- * or, {@link ParsingConfiguration#AUTO_DETECT_NAMING_CONVENTION} when undecidable.
+ * @return {@link NamingConvention#CAMEL_CASE}, or {@link NamingConvention#LEGACY}
+ * or, {@link NamingConvention#AUTO_DETECT} when undecidable.
*/
- public static int getIdentifierNamingConvention(String name) {
+ public static NamingConvention getIdentifierNamingConvention(String name) {
final int ln = name.length();
for (int i = 0; i < ln; i++) {
final char c = name.charAt(i);
if (c == '_') {
- return ParsingConfiguration.LEGACY_NAMING_CONVENTION;
+ return NamingConvention.LEGACY;
}
if (_StringUtil.isUpperUSASCII(c)) {
- return ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION;
+ return NamingConvention.CAMEL_CASE;
}
}
- return ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION;
+ return NamingConvention.AUTO_DETECT;
}
// [2.4] Won't be needed anymore
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/javacc/FTL.jj
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/javacc/FTL.jj b/freemarker-core/src/main/javacc/FTL.jj
index dc6079f..0df4035 100644
--- a/freemarker-core/src/main/javacc/FTL.jj
+++ b/freemarker-core/src/main/javacc/FTL.jj
@@ -78,7 +78,7 @@ public class FMParser {
private boolean stripWhitespace, stripText;
private int incompatibleImprovements;
private OutputFormat outputFormat;
- private int autoEscapingPolicy;
+ private AutoEscapingPolicy autoEscapingPolicy;
private boolean autoEscaping;
private ParsingConfiguration pCfg;
private InputStream streamToUnmarkWhenEncEstabd;
@@ -96,7 +96,7 @@ public class FMParser {
private int mixedContentNesting; // for stripText
FMParser(Template template, Reader reader,
- ParsingConfiguration pCfg, OutputFormat outputFormat, Integer autoEscapingPolicy,
+ ParsingConfiguration pCfg, OutputFormat outputFormat, AutoEscapingPolicy autoEscapingPolicy,
InputStream streamToUnmarkWhenEncEstabd) {
this(template, true, readerToTokenManager(reader, pCfg),
pCfg, outputFormat, autoEscapingPolicy,
@@ -110,7 +110,7 @@ public class FMParser {
}
FMParser(Template template, boolean newTemplate, FMParserTokenManager tkMan,
- ParsingConfiguration pCfg, OutputFormat contextOutputFormat, Integer contextAutoEscapingPolicy,
+ ParsingConfiguration pCfg, OutputFormat contextOutputFormat, AutoEscapingPolicy contextAutoEscapingPolicy,
InputStream streamToUnmarkWhenEncEstabd) {
this(tkMan);
@@ -133,39 +133,30 @@ public class FMParser {
: outputFormatFromExt != null ? outputFormatFromExt
: pCfg.getOutputFormat();
autoEscapingPolicy = contextAutoEscapingPolicy != null ? contextAutoEscapingPolicy
- : outputFormatFromExt != null ? Configuration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY
+ : outputFormatFromExt != null ? AutoEscapingPolicy.ENABLE_IF_DEFAULT
: pCfg.getAutoEscapingPolicy();
}
recalculateAutoEscapingField();
token_source.setParser(this);
- int tagSyntax = pCfg.getTagSyntax();
+ TagSyntax tagSyntax = pCfg.getTagSyntax();
switch (tagSyntax) {
- case Configuration.AUTO_DETECT_TAG_SYNTAX:
+ case AUTO_DETECT:
token_source.autodetectTagSyntax = true;
break;
- case Configuration.ANGLE_BRACKET_TAG_SYNTAX:
+ case ANGLE_BRACKET:
token_source.squBracTagSyntax = false;
break;
- case Configuration.SQUARE_BRACKET_TAG_SYNTAX:
+ case SQUARE_BRACKET:
token_source.squBracTagSyntax = true;
break;
default:
- throw new IllegalArgumentException("Illegal argument for tagSyntax: " + tagSyntax);
+ throw new BugException("Unsupported tagSyntax: " + tagSyntax);
}
- int namingConvention = pCfg.getNamingConvention();
- switch (namingConvention) {
- case Configuration.AUTO_DETECT_NAMING_CONVENTION:
- case Configuration.CAMEL_CASE_NAMING_CONVENTION:
- case Configuration.LEGACY_NAMING_CONVENTION:
- token_source.initialNamingConvention = namingConvention;
- token_source.namingConvention = namingConvention;
- break;
- default:
- throw new IllegalArgumentException("Illegal argument for namingConvention: " + namingConvention);
- }
+ token_source.initialNamingConvention = pCfg.getNamingConvention();
+ token_source.namingConvention = token_source.initialNamingConvention;
this.stripWhitespace = pCfg.getWhitespaceStripping();
@@ -233,14 +224,14 @@ public class FMParser {
*/
private void recalculateAutoEscapingField() {
if (outputFormat instanceof MarkupOutputFormat) {
- if (autoEscapingPolicy == Configuration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY) {
+ if (autoEscapingPolicy == AutoEscapingPolicy.ENABLE_IF_DEFAULT) {
autoEscaping = ((MarkupOutputFormat) outputFormat).isAutoEscapedByDefault();
- } else if (autoEscapingPolicy == Configuration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY) {
+ } else if (autoEscapingPolicy == AutoEscapingPolicy.ENABLE_IF_SUPPORTED) {
autoEscaping = true;
- } else if (autoEscapingPolicy == Configuration.DISABLE_AUTO_ESCAPING_POLICY) {
+ } else if (autoEscapingPolicy == AutoEscapingPolicy.DISABLE) {
autoEscaping = false;
} else {
- throw new IllegalStateException("Unhandled autoEscaping enum: " + autoEscapingPolicy);
+ throw new BugException("Unhandled autoEscaping enum: " + autoEscapingPolicy);
}
} else {
autoEscaping = false;
@@ -254,10 +245,8 @@ public class FMParser {
/**
* Don't use it, unless you are developing FreeMarker itself.
*/
- public int _getLastTagSyntax() {
- return token_source.squBracTagSyntax
- ? Configuration.SQUARE_BRACKET_TAG_SYNTAX
- : Configuration.ANGLE_BRACKET_TAG_SYNTAX;
+ public TagSyntax _getLastTagSyntax() {
+ return token_source.squBracTagSyntax ? TagSyntax.SQUARE_BRACKET : TagSyntax.ANGLE_BRACKET;
}
/**
@@ -265,7 +254,7 @@ public class FMParser {
* The naming convention used by this template; if it couldn't be detected so far, it will be the most probable one.
* This could be used for formatting error messages, but not for anything serious.
*/
- public int _getLastNamingConvention() {
+ public NamingConvention _getLastNamingConvention() {
return token_source.namingConvention;
}
@@ -501,8 +490,8 @@ TOKEN_MGR_DECLS:
autodetectTagSyntax,
directiveSyntaxEstablished,
inInvocation;
- int initialNamingConvention;
- int namingConvention;
+ NamingConvention initialNamingConvention;
+ NamingConvention namingConvention;
Token namingConventionEstabilisher;
int incompatibleImprovements;
@@ -514,7 +503,7 @@ TOKEN_MGR_DECLS:
* This method handles tag syntax ('<' VS '['), and also participates in naming convention detection.
* If you update this logic, take a look at the UNKNOWN_DIRECTIVE token too.
*/
- private void handleTagSyntaxAndSwitch(Token tok, int tokenNamingConvention, int newLexState) {
+ private void handleTagSyntaxAndSwitch(Token tok, NamingConvention tokenNamingConvention, int newLexState) {
final String image = tok.image;
char firstChar = image.charAt(0);
@@ -537,16 +526,16 @@ TOKEN_MGR_DECLS:
* Used for tags whose name isn't affected by naming convention.
*/
private void handleTagSyntaxAndSwitch(Token tok, int newLexState) {
- handleTagSyntaxAndSwitch(tok, Configuration.AUTO_DETECT_NAMING_CONVENTION, newLexState);
+ handleTagSyntaxAndSwitch(tok, NamingConvention.AUTO_DETECT, newLexState);
}
void checkNamingConvention(Token tok) {
checkNamingConvention(tok, _StringUtil.getIdentifierNamingConvention(tok.image));
}
- void checkNamingConvention(Token tok, int tokenNamingConvention) {
- if (tokenNamingConvention != Configuration.AUTO_DETECT_NAMING_CONVENTION) {
- if (namingConvention == Configuration.AUTO_DETECT_NAMING_CONVENTION) {
+ void checkNamingConvention(Token tok, NamingConvention tokenNamingConvention) {
+ if (tokenNamingConvention != NamingConvention.AUTO_DETECT) {
+ if (namingConvention == NamingConvention.AUTO_DETECT) {
namingConvention = tokenNamingConvention;
namingConventionEstabilisher = tok;
} else if (namingConvention != tokenNamingConvention) {
@@ -559,12 +548,12 @@ TOKEN_MGR_DECLS:
return new TokenMgrError(
"Naming convention mismatch. "
+ "Identifiers that are part of the template language (not the user specified ones) "
- + (initialNamingConvention == Configuration.AUTO_DETECT_NAMING_CONVENTION
+ + (initialNamingConvention == NamingConvention.AUTO_DETECT
? "must consistently use the same naming convention within the same template. This template uses "
: "must use the configured naming convention, which is the ")
- + (namingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION
+ + (namingConvention == NamingConvention.CAMEL_CASE
? "camel case naming convention (like: exampleName) "
- : (namingConvention == Configuration.LEGACY_NAMING_CONVENTION
+ : (namingConvention == NamingConvention.LEGACY
? "legacy naming convention (directive (tag) names are like examplename, "
+ "everything else is like example_name) "
: "??? (internal error)"
@@ -587,9 +576,9 @@ TOKEN_MGR_DECLS:
* @param charIdxInName
* The index of the deciding character relatively to the first letter of the name.
*/
- private static int getTagNamingConvention(Token tok, int charIdxInName) {
+ private static NamingConvention getTagNamingConvention(Token tok, int charIdxInName) {
return _StringUtil.isUpperUSASCII(getTagNameCharAt(tok, charIdxInName))
- ? Configuration.CAMEL_CASE_NAMING_CONVENTION : Configuration.LEGACY_NAMING_CONVENTION;
+ ? NamingConvention.CAMEL_CASE : NamingConvention.LEGACY;
}
static char getTagNameCharAt(Token tok, int charIdxInName) {
@@ -803,9 +792,9 @@ TOKEN:
<TERSE_COMMENT : ("<" | "[") "#--" > { noparseTag = "-->"; handleTagSyntaxAndSwitch(matchedToken, NO_PARSE); }
|
<NOPARSE: <START_TAG> "no" ("p" | "P") "arse" <CLOSE_TAG1>> {
- int tagNamingConvention = getTagNamingConvention(matchedToken, 2);
+ NamingConvention tagNamingConvention = getTagNamingConvention(matchedToken, 2);
handleTagSyntaxAndSwitch(matchedToken, tagNamingConvention, NO_PARSE);
- noparseTag = tagNamingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION ? "noParse" : "noparse";
+ noparseTag = tagNamingConvention == NamingConvention.CAMEL_CASE ? "noParse" : "noparse";
}
|
<END_IF : <END_TAG> "if" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
@@ -3503,14 +3492,14 @@ ASTDirAutoEsc AutoEsc() :
{
Token start, end;
TemplateElements children;
- int lastAutoEscapingPolicy;
+ AutoEscapingPolicy lastAutoEscapingPolicy;
}
{
start = <AUTOESC>
{
checkCurrentOutputFormatCanEscape(start);
lastAutoEscapingPolicy = autoEscapingPolicy;
- autoEscapingPolicy = Configuration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY;
+ autoEscapingPolicy = AutoEscapingPolicy.ENABLE_IF_SUPPORTED;
recalculateAutoEscapingField();
}
children = MixedContentElements()
@@ -3529,13 +3518,13 @@ ASTDirNoAutoEsc NoAutoEsc() :
{
Token start, end;
TemplateElements children;
- int lastAutoEscapingPolicy;
+ AutoEscapingPolicy lastAutoEscapingPolicy;
}
{
start = <NOAUTOESC>
{
lastAutoEscapingPolicy = autoEscapingPolicy;
- autoEscapingPolicy = Configuration.DISABLE_AUTO_ESCAPING_POLICY;
+ autoEscapingPolicy = AutoEscapingPolicy.DISABLE;
recalculateAutoEscapingField();
}
children = MixedContentElements()
@@ -3923,9 +3912,9 @@ void HeaderElement() :
} else if (ks.equalsIgnoreCase("auto_esc") || ks.equals("autoEsc")) {
if (getBoolean(exp, false)) {
autoEscRequester = key;
- autoEscapingPolicy = Configuration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY;
+ autoEscapingPolicy = AutoEscapingPolicy.ENABLE_IF_SUPPORTED;
} else {
- autoEscapingPolicy = Configuration.DISABLE_AUTO_ESCAPING_POLICY;
+ autoEscapingPolicy = AutoEscapingPolicy.DISABLE;
}
recalculateAutoEscapingField();
@@ -3993,7 +3982,7 @@ void HeaderElement() :
} else if (ks.equals("xmlns")) {
// [2.4] If camel case will be the default, update this
correctName
- = token_source.namingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION
+ = token_source.namingConvention == NamingConvention.CAMEL_CASE
? "nsPrefixes" : "ns_prefixes";
} else if (ks.equals("auto_escape") || ks.equals("auto_escaping") || ks.equals("autoesc")) {
correctName = "auto_esc";
[2/2] incubator-freemarker git commit: Configuration-related int
constants were replaced with enums:
Posted by dd...@apache.org.
Configuration-related int constants were replaced with enums:
- FM2 Configuration.${c}_NAMING_CONVENTION with NamingConvention.${c}
- FM2 Configuration.${c}_TAG_SYNTAX with TagSyntax.${c}
- FM2 Configuration.${c}_AUTO_ESCAPING_POLICY with AutoEscapingPolicy.${c}
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/99ac6973
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/99ac6973
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/99ac6973
Branch: refs/heads/3
Commit: 99ac69739f6439ce8dd6143f7eb0046e885998e5
Parents: be55689
Author: ddekany <dd...@apache.org>
Authored: Mon May 22 18:08:54 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Mon May 22 23:01:02 2017 +0200
----------------------------------------------------------------------
FM3-CHANGE-LOG.txt | 5 +
.../core/ActualNamingConvetionTest.java | 17 ++--
.../freemarker/core/ActualTagSyntaxTest.java | 34 +++----
.../apache/freemarker/core/CamelCaseTest.java | 28 ++---
.../freemarker/core/CoercionToTextualTest.java | 2 +-
.../freemarker/core/ConfigurableTest.java | 4 +-
.../freemarker/core/ConfigurationTest.java | 51 ++++------
.../core/InterpretSettingInheritanceTest.java | 10 +-
.../core/ObjectBuilderSettingsTest.java | 2 +-
.../freemarker/core/OutputFormatTest.java | 32 +++---
.../core/ParsingErrorMessagesTest.java | 2 +-
.../freemarker/core/SpecialVariableTest.java | 8 +-
.../core/TagSyntaxVariationsTest.java | 8 +-
.../core/TemplateConfigurationTest.java | 16 +--
.../apache/freemarker/core/ASTDirSetting.java | 16 +--
.../apache/freemarker/core/ASTExpBuiltIn.java | 18 ++--
.../freemarker/core/ASTExpBuiltInVariable.java | 18 ++--
.../freemarker/core/AutoEscapingPolicy.java | 44 ++++++++
.../apache/freemarker/core/Configuration.java | 102 +++++++++----------
...utableParsingAndProcessingConfiguration.java | 77 ++++++--------
.../core/MutableProcessingConfiguration.java | 11 +-
.../freemarker/core/NamingConvention.java | 29 ++++++
.../core/OutputFormatBoundBuiltIn.java | 4 +-
.../freemarker/core/ParsingConfiguration.java | 55 ++++------
.../org/apache/freemarker/core/TagSyntax.java | 29 ++++++
.../org/apache/freemarker/core/Template.java | 24 ++---
.../freemarker/core/TemplateConfiguration.java | 18 ++--
...emplateParsingConfigurationWithFallback.java | 6 +-
.../core/_ErrorDescriptionBuilder.java | 2 +-
.../core/_ObjectBuilderSettingEvaluator.java | 5 +-
.../freemarker/core/util/_StringUtil.java | 14 +--
freemarker-core/src/main/javacc/FTL.jj | 89 +++++++---------
32 files changed, 412 insertions(+), 368 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/FM3-CHANGE-LOG.txt
----------------------------------------------------------------------
diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt
index 9600281..f0823ab 100644
--- a/FM3-CHANGE-LOG.txt
+++ b/FM3-CHANGE-LOG.txt
@@ -245,3 +245,8 @@ the FreeMarer 3 changelog here:
new DefaultObjectWrapper.Builder(Configuration.VERSION_3_0_0)
.extensions(DOMDefaultObjectWrapperExtension.INSTANCE)
.build())
+
+- Configuration-related int constants were replaced with enums:
+ - FM2 Configuration.${c}_NAMING_CONVENTION with NamingConvention.${c}
+ - FM2 Configuration.${c}_TAG_SYNTAX with TagSyntax.${c}
+ - FM2 Configuration.${c}_AUTO_ESCAPING_POLICY with AutoEscapingPolicy.${c}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualNamingConvetionTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualNamingConvetionTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualNamingConvetionTest.java
index 57e40fa..69a95c9 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualNamingConvetionTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualNamingConvetionTest.java
@@ -32,32 +32,33 @@ public class ActualNamingConvetionTest {
public void testUndetectable() throws IOException {
final String ftl = "<#if true>${x?size}</#if>";
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION), ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION);
+ NamingConvention.AUTO_DETECT), NamingConvention.AUTO_DETECT);
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.LEGACY_NAMING_CONVENTION), ParsingConfiguration.LEGACY_NAMING_CONVENTION);
+ NamingConvention.LEGACY), NamingConvention.LEGACY);
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION), ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ NamingConvention.CAMEL_CASE), NamingConvention.CAMEL_CASE);
}
@Test
public void testLegacyDetected() throws IOException {
final String ftl = "${x?upper_case}";
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION), ParsingConfiguration.LEGACY_NAMING_CONVENTION);
+ NamingConvention.AUTO_DETECT), NamingConvention.LEGACY);
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.LEGACY_NAMING_CONVENTION), ParsingConfiguration.LEGACY_NAMING_CONVENTION);
+ NamingConvention.LEGACY), NamingConvention.LEGACY);
}
@Test
public void testCamelCaseDetected() throws IOException {
final String ftl = "${x?upperCase}";
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION), ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ NamingConvention.AUTO_DETECT), NamingConvention.CAMEL_CASE);
assertEquals(getActualNamingConvention(ftl,
- ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION), ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ NamingConvention.CAMEL_CASE), NamingConvention.CAMEL_CASE);
}
- private int getActualNamingConvention(String ftl, int namingConvention) throws IOException {
+ private NamingConvention getActualNamingConvention(String ftl, NamingConvention namingConvention)
+ throws IOException {
return new Template(null, ftl,
new TestConfigurationBuilder().namingConvention(namingConvention).build())
.getActualNamingConvention();
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualTagSyntaxTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualTagSyntaxTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualTagSyntaxTest.java
index 88f0646..02d7f3d 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualTagSyntaxTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ActualTagSyntaxTest.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-import static org.apache.freemarker.core.ParsingConfiguration.*;
+import static org.apache.freemarker.core.TagSyntax.*;
import static org.junit.Assert.*;
import java.io.IOException;
@@ -31,35 +31,35 @@ public class ActualTagSyntaxTest {
@Test
public void testWithFtlHeader() throws IOException {
- testWithFtlHeader(AUTO_DETECT_TAG_SYNTAX);
- testWithFtlHeader(ANGLE_BRACKET_TAG_SYNTAX);
- testWithFtlHeader(SQUARE_BRACKET_TAG_SYNTAX);
+ testWithFtlHeader(AUTO_DETECT);
+ testWithFtlHeader(ANGLE_BRACKET);
+ testWithFtlHeader(SQUARE_BRACKET);
}
- private void testWithFtlHeader(int cfgTagSyntax) throws IOException {
- assertEquals(getActualTagSyntax("[#ftl]foo", cfgTagSyntax), SQUARE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("<#ftl>foo", cfgTagSyntax), ANGLE_BRACKET_TAG_SYNTAX);
+ private void testWithFtlHeader(TagSyntax cfgTagSyntax) throws IOException {
+ assertEquals(getActualTagSyntax("[#ftl]foo", cfgTagSyntax), SQUARE_BRACKET);
+ assertEquals(getActualTagSyntax("<#ftl>foo", cfgTagSyntax), ANGLE_BRACKET);
}
@Test
public void testUndecidable() throws IOException {
- assertEquals(getActualTagSyntax("foo", AUTO_DETECT_TAG_SYNTAX), ANGLE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo", ANGLE_BRACKET_TAG_SYNTAX), ANGLE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo", SQUARE_BRACKET_TAG_SYNTAX), SQUARE_BRACKET_TAG_SYNTAX);
+ assertEquals(getActualTagSyntax("foo", AUTO_DETECT), ANGLE_BRACKET);
+ assertEquals(getActualTagSyntax("foo", ANGLE_BRACKET), ANGLE_BRACKET);
+ assertEquals(getActualTagSyntax("foo", SQUARE_BRACKET), SQUARE_BRACKET);
}
@Test
public void testDecidableWithoutFtlHeader() throws IOException {
- assertEquals(getActualTagSyntax("foo<#if true></#if>", AUTO_DETECT_TAG_SYNTAX), ANGLE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo<#if true></#if>", ANGLE_BRACKET_TAG_SYNTAX), ANGLE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo<#if true></#if>", SQUARE_BRACKET_TAG_SYNTAX), SQUARE_BRACKET_TAG_SYNTAX);
+ assertEquals(getActualTagSyntax("foo<#if true></#if>", AUTO_DETECT), ANGLE_BRACKET);
+ assertEquals(getActualTagSyntax("foo<#if true></#if>", ANGLE_BRACKET), ANGLE_BRACKET);
+ assertEquals(getActualTagSyntax("foo<#if true></#if>", SQUARE_BRACKET), SQUARE_BRACKET);
- assertEquals(getActualTagSyntax("foo[#if true][/#if]", AUTO_DETECT_TAG_SYNTAX), SQUARE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo[#if true][/#if]", ANGLE_BRACKET_TAG_SYNTAX), ANGLE_BRACKET_TAG_SYNTAX);
- assertEquals(getActualTagSyntax("foo[#if true][/#if]", SQUARE_BRACKET_TAG_SYNTAX), SQUARE_BRACKET_TAG_SYNTAX);
+ assertEquals(getActualTagSyntax("foo[#if true][/#if]", AUTO_DETECT), SQUARE_BRACKET);
+ assertEquals(getActualTagSyntax("foo[#if true][/#if]", ANGLE_BRACKET), ANGLE_BRACKET);
+ assertEquals(getActualTagSyntax("foo[#if true][/#if]", SQUARE_BRACKET), SQUARE_BRACKET);
}
- private int getActualTagSyntax(String ftl, int cfgTagSyntax) throws IOException {
+ private TagSyntax getActualTagSyntax(String ftl, TagSyntax cfgTagSyntax) throws IOException {
return new Template(
null, ftl,
new TestConfigurationBuilder().tagSyntax(cfgTagSyntax).build()).getActualTagSyntax();
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/CamelCaseTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CamelCaseTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CamelCaseTest.java
index 95572ad..d2f3fa0 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CamelCaseTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CamelCaseTest.java
@@ -120,21 +120,21 @@ public class CamelCaseTest extends TemplateTest {
assertErrorContains("<#ftl strip_whitespace=true>${.fooBar}", "naming convention");
setConfiguration(new TestConfigurationBuilder()
- .namingConvention(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.CAMEL_CASE)
.outputEncoding(StandardCharsets.UTF_8)
.build());
assertErrorContains("<#ftl strip_whitespace=true>", "naming convention");
assertOutput("<#ftl stripWhitespace=true>${.outputEncoding}", StandardCharsets.UTF_8.name());
setConfiguration(new TestConfigurationBuilder()
- .namingConvention(ParsingConfiguration.LEGACY_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.LEGACY)
.outputEncoding(StandardCharsets.UTF_8)
.build());
assertErrorContains("<#ftl stripWhitespace=true>", "naming convention");
assertOutput("<#ftl strip_whitespace=true>${.output_encoding}", StandardCharsets.UTF_8.name());
setConfiguration(new TestConfigurationBuilder()
- .namingConvention(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.AUTO_DETECT)
.outputEncoding(StandardCharsets.UTF_8)
.build());
assertOutput("<#ftl stripWhitespace=true>${.outputEncoding}", StandardCharsets.UTF_8.name());
@@ -187,7 +187,7 @@ public class CamelCaseTest extends TemplateTest {
@Test
public void stringLiteralInterpolation() throws IOException, TemplateException {
- assertEquals(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION, getConfiguration().getNamingConvention());
+ assertEquals(NamingConvention.AUTO_DETECT, getConfiguration().getNamingConvention());
addToDataModel("x", "x");
assertOutput("${'-${x?upperCase}-'} ${x?upperCase}", "-X- X");
@@ -217,7 +217,7 @@ public class CamelCaseTest extends TemplateTest {
@Test
public void evalAndInterpret() throws IOException, TemplateException {
- assertEquals(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION, getConfiguration().getNamingConvention());
+ assertEquals(NamingConvention.AUTO_DETECT, getConfiguration().getNamingConvention());
// The naming convention detected doesn't affect the enclosing template's naming convention.
// - ?eval:
assertOutput("${\"'x'?upperCase\"?eval}${'x'?upper_case}", "XX");
@@ -253,7 +253,7 @@ public class CamelCaseTest extends TemplateTest {
private void setConfigurationToLegacyCaseNamingConvention() {
setConfiguration(new TestConfigurationBuilder()
- .namingConvention(ParsingConfiguration.LEGACY_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.LEGACY)
.build());
}
@@ -275,7 +275,7 @@ public class CamelCaseTest extends TemplateTest {
private void setConfigurationToCamelCaseNamingConvention() {
setConfiguration(new TestConfigurationBuilder()
- .namingConvention(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.CAMEL_CASE)
.build());
}
@@ -297,7 +297,7 @@ public class CamelCaseTest extends TemplateTest {
private void assertContainsBothNamingStyles(Set<String> names, NamePairAssertion namePairAssertion) {
Set<String> underscoredNamesWithCamelCasePair = new HashSet<>();
for (String name : names) {
- if (_StringUtil.getIdentifierNamingConvention(name) == ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
+ if (_StringUtil.getIdentifierNamingConvention(name) == NamingConvention.CAMEL_CASE) {
String underscoredName = correctIsoBIExceptions(_StringUtil.camelCaseToUnderscored(name));
assertTrue(
"Missing underscored variation \"" + underscoredName + "\" for \"" + name + "\".",
@@ -308,7 +308,7 @@ public class CamelCaseTest extends TemplateTest {
}
}
for (String name : names) {
- if (_StringUtil.getIdentifierNamingConvention(name) == ParsingConfiguration.LEGACY_NAMING_CONVENTION) {
+ if (_StringUtil.getIdentifierNamingConvention(name) == NamingConvention.LEGACY) {
assertTrue("Missing camel case variation for \"" + name + "\".",
underscoredNamesWithCamelCasePair.contains(name));
}
@@ -323,7 +323,7 @@ public class CamelCaseTest extends TemplateTest {
public void camelCaseDirectives() throws IOException, TemplateException {
camelCaseDirectives(false);
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.AUTO_DETECT)
.build());
camelCaseDirectives(true);
}
@@ -364,11 +364,11 @@ public class CamelCaseTest extends TemplateTest {
}
private void explicitNamingConvention(boolean squared) throws IOException, TemplateException {
- int tagSyntax = squared ? ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX
- : ParsingConfiguration.ANGLE_BRACKET_TAG_SYNTAX;
+ TagSyntax tagSyntax = squared ? TagSyntax.AUTO_DETECT
+ : TagSyntax.ANGLE_BRACKET;
setConfiguration(new TestConfigurationBuilder()
.tagSyntax(tagSyntax)
- .namingConvention(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.CAMEL_CASE)
.build());
assertErrorContains(
@@ -396,7 +396,7 @@ public class CamelCaseTest extends TemplateTest {
setConfiguration(new TestConfigurationBuilder()
.tagSyntax(tagSyntax)
- .namingConvention(ParsingConfiguration.LEGACY_NAMING_CONVENTION)
+ .namingConvention(NamingConvention.LEGACY)
.build());
assertErrorContains(
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/CoercionToTextualTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CoercionToTextualTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CoercionToTextualTest.java
index 91d3749..1e945fe 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CoercionToTextualTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CoercionToTextualTest.java
@@ -57,7 +57,7 @@ public class CoercionToTextualTest extends TemplateTest {
public void testEscBuiltin() throws IOException, TemplateException {
setConfiguration(createDefaultConfigurationBuilder()
.outputFormat(HTMLOutputFormat.INSTANCE)
- .autoEscapingPolicy(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY)
+ .autoEscapingPolicy(AutoEscapingPolicy.DISABLE)
.booleanFormat("<y>,<n>")
.build());
assertOutput("${'a<b'?esc}", "a<b");
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurableTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurableTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurableTest.java
index ebcc465..5301f14 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurableTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurableTest.java
@@ -96,7 +96,7 @@ public class ConfigurableTest {
String fieldName = field.getName();
if (fieldName.endsWith("_KEY")) {
String keyFieldValue = (String) field.get(null);
- assertNotEquals(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION,
+ assertNotEquals(NamingConvention.CAMEL_CASE,
_StringUtil.getIdentifierNamingConvention(keyFieldValue));
assertEquals(fieldName.substring(0, fieldName.length() - 4).toLowerCase(), keyFieldValue);
@@ -109,7 +109,7 @@ public class ConfigurableTest {
try {
String keyCCFieldValue = (String) confClass.getField(fieldName + "_CAMEL_CASE").get(null);
- assertNotEquals(ParsingConfiguration.LEGACY_NAMING_CONVENTION,
+ assertNotEquals(NamingConvention.LEGACY,
_StringUtil.getIdentifierNamingConvention(keyCCFieldValue));
assertEquals(keyFieldValue, _StringUtil.camelCaseToUnderscored(keyCCFieldValue));
} catch (NoSuchFieldException e) {
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
index dcefa3f..87f1c21 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
@@ -547,38 +547,31 @@ public class ConfigurationTest extends TestCase {
public void testSetAutoEscaping() throws Exception {
Configuration.Builder cfgB = new Configuration.Builder(Configuration.VERSION_3_0_0);
- assertEquals(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY);
- assertEquals(ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.ENABLE_IF_SUPPORTED);
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_SUPPORTED, cfgB.getAutoEscapingPolicy());
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY);
- assertEquals(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.ENABLE_IF_DEFAULT);
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY);
- assertEquals(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.DISABLE);
+ assertEquals(AutoEscapingPolicy.DISABLE, cfgB.getAutoEscapingPolicy());
cfgB.setSetting(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, "enableIfSupported");
- assertEquals(ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_SUPPORTED, cfgB.getAutoEscapingPolicy());
cfgB.setSetting(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, "enable_if_supported");
- assertEquals(ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_SUPPORTED, cfgB.getAutoEscapingPolicy());
cfgB.setSetting(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, "enableIfDefault");
- assertEquals(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
cfgB.setSetting(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, "enable_if_default");
- assertEquals(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
cfgB.setSetting(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, "disable");
- assertEquals(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
-
- try {
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
- fail();
- } catch (IllegalArgumentException e) {
- // Expected
- }
+ assertEquals(AutoEscapingPolicy.DISABLE, cfgB.getAutoEscapingPolicy());
}
public void testSetOutputFormat() throws Exception {
@@ -1180,16 +1173,16 @@ public class ConfigurationTest extends TestCase {
public void testNamingConventionSetSetting() throws ConfigurationException {
Configuration.Builder cfg = new Configuration.Builder(Configuration.VERSION_3_0_0);
- assertEquals(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION, cfg.getNamingConvention());
+ assertEquals(NamingConvention.AUTO_DETECT, cfg.getNamingConvention());
cfg.setSetting("naming_convention", "legacy");
- assertEquals(ParsingConfiguration.LEGACY_NAMING_CONVENTION, cfg.getNamingConvention());
+ assertEquals(NamingConvention.LEGACY, cfg.getNamingConvention());
cfg.setSetting("naming_convention", "camel_case");
- assertEquals(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION, cfg.getNamingConvention());
+ assertEquals(NamingConvention.CAMEL_CASE, cfg.getNamingConvention());
cfg.setSetting("naming_convention", "auto_detect");
- assertEquals(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION, cfg.getNamingConvention());
+ assertEquals(NamingConvention.AUTO_DETECT, cfg.getNamingConvention());
}
public void testLazyImportsSetSetting() throws ConfigurationException {
@@ -1400,9 +1393,9 @@ public class ConfigurationTest extends TestCase {
public void testGetSupportedBuiltInDirectiveNames() {
Configuration cfg = new Configuration.Builder(Configuration.VERSION_3_0_0).build();
- Set<String> allNames = cfg.getSupportedBuiltInDirectiveNames(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION);
- Set<String> lNames = cfg.getSupportedBuiltInDirectiveNames(ParsingConfiguration.LEGACY_NAMING_CONVENTION);
- Set<String> cNames = cfg.getSupportedBuiltInDirectiveNames(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ Set<String> allNames = cfg.getSupportedBuiltInDirectiveNames(NamingConvention.AUTO_DETECT);
+ Set<String> lNames = cfg.getSupportedBuiltInDirectiveNames(NamingConvention.LEGACY);
+ Set<String> cNames = cfg.getSupportedBuiltInDirectiveNames(NamingConvention.CAMEL_CASE);
checkNamingConventionNameSets(allNames, lNames, cNames);
@@ -1415,9 +1408,9 @@ public class ConfigurationTest extends TestCase {
public void testGetSupportedBuiltInNames() {
Configuration cfg = new Configuration.Builder(Configuration.VERSION_3_0_0).build();
- Set<String> allNames = cfg.getSupportedBuiltInNames(ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION);
- Set<String> lNames = cfg.getSupportedBuiltInNames(ParsingConfiguration.LEGACY_NAMING_CONVENTION);
- Set<String> cNames = cfg.getSupportedBuiltInNames(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ Set<String> allNames = cfg.getSupportedBuiltInNames(NamingConvention.AUTO_DETECT);
+ Set<String> lNames = cfg.getSupportedBuiltInNames(NamingConvention.LEGACY);
+ Set<String> cNames = cfg.getSupportedBuiltInNames(NamingConvention.CAMEL_CASE);
checkNamingConventionNameSets(allNames, lNames, cNames);
}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/InterpretSettingInheritanceTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/InterpretSettingInheritanceTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/InterpretSettingInheritanceTest.java
index 2d061d7..dd4f899 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/InterpretSettingInheritanceTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/InterpretSettingInheritanceTest.java
@@ -42,7 +42,7 @@ public class InterpretSettingInheritanceTest extends TemplateTest {
@Test
public void tagSyntaxTest() throws IOException, TemplateException {
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.ANGLE_BRACKET_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.ANGLE_BRACKET)
.build());
assertOutput(FTL_S_A_S, OUT_A_S_WHEN_SYNTAX_IS_A);
assertOutput(FTL_S_S_A, OUT_S_A_WHEN_SYNTAX_IS_A);
@@ -50,7 +50,7 @@ public class InterpretSettingInheritanceTest extends TemplateTest {
assertOutput(FTL_A_S_A, OUT_S_A_WHEN_SYNTAX_IS_A);
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.SQUARE_BRACKET)
.build());
assertOutput(FTL_S_A_S, OUT_A_S_WHEN_SYNTAX_IS_S);
assertOutput(FTL_S_S_A, OUT_S_A_WHEN_SYNTAX_IS_S);
@@ -58,7 +58,7 @@ public class InterpretSettingInheritanceTest extends TemplateTest {
assertOutput(FTL_A_S_A, OUT_S_A_WHEN_SYNTAX_IS_S);
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.AUTO_DETECT)
.build());
assertOutput(FTL_S_A_S, OUT_A_S_WHEN_SYNTAX_IS_A);
assertOutput(FTL_S_S_A, OUT_S_A_WHEN_SYNTAX_IS_S);
@@ -89,13 +89,13 @@ public class InterpretSettingInheritanceTest extends TemplateTest {
@Test
public void evalTest() throws IOException, TemplateException {
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.ANGLE_BRACKET_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.ANGLE_BRACKET)
.build());
assertOutput("<@'\"[#if true]s[/#if]<#if true>a</#if>\"?interpret'?eval />", OUT_S_A_WHEN_SYNTAX_IS_A);
assertOutput("[#ftl][@'\"[#if true]s[/#if]<#if true>a</#if>\"?interpret'?eval /]", OUT_S_A_WHEN_SYNTAX_IS_A);
setConfiguration(new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.SQUARE_BRACKET)
.build());
assertOutput("[@'\"[#if true]s[/#if]<#if true>a</#if>\"?interpret'?eval /]", OUT_S_A_WHEN_SYNTAX_IS_S);
assertOutput("<#ftl><@'\"[#if true]s[/#if]<#if true>a</#if>\"?interpret'?eval />", OUT_S_A_WHEN_SYNTAX_IS_S);
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
index 49534fa..7c0d841 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
@@ -911,7 +911,7 @@ public class ObjectBuilderSettingsTest {
assertEqualsEvaled(123, "org.apache.freemarker.core.ObjectBuilderSettingsTest$TestStaticFields.CONST");
// With shorthand class name:
- assertEqualsEvaled(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX, "Configuration.AUTO_DETECT_TAG_SYNTAX");
+ assertEqualsEvaled(TagSyntax.AUTO_DETECT, "TagSyntax.AUTO_DETECT");
try {
_ObjectBuilderSettingEvaluator.eval(
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java
index eedb4d1..d78c558 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.freemarker.core;
-import static org.apache.freemarker.core.ParsingConfiguration.*;
+import static org.apache.freemarker.core.AutoEscapingPolicy.*;
import static org.junit.Assert.*;
import java.io.IOException;
@@ -189,7 +189,7 @@ public class OutputFormatTest extends TemplateTest {
ConditionalTemplateConfigurationFactory tcfNoAutoEsc = new ConditionalTemplateConfigurationFactory(
new FileNameGlobMatcher("t.*"),
new TemplateConfiguration.Builder()
- .autoEscapingPolicy(DISABLE_AUTO_ESCAPING_POLICY)
+ .autoEscapingPolicy(DISABLE)
.build());
{
@@ -289,34 +289,34 @@ public class OutputFormatTest extends TemplateTest {
addTemplate("tWithHeaderTrue", "<#ftl autoEsc=true>${'a&b'}");
TestConfigurationBuilder cfgB = createDefaultConfigurationBuilder().outputFormat(XMLOutputFormat.INSTANCE);
- assertEquals(ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
for (boolean cfgAutoEscaping : new boolean[] { true, false }) {
if (!cfgAutoEscaping) {
- cfgB.setAutoEscapingPolicy(DISABLE_AUTO_ESCAPING_POLICY);
+ cfgB.setAutoEscapingPolicy(DISABLE);
}
setConfiguration(cfgB.build());
{
Template t = getConfiguration().getTemplate("t");
if (cfgAutoEscaping) {
- assertEquals(ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, t.getAutoEscapingPolicy());
+ assertEquals(ENABLE_IF_DEFAULT, t.getAutoEscapingPolicy());
assertOutput(t, "a&b");
} else {
- assertEquals(DISABLE_AUTO_ESCAPING_POLICY, t.getAutoEscapingPolicy());
+ assertEquals(DISABLE, t.getAutoEscapingPolicy());
assertOutput(t, "a&b");
}
}
{
Template t = getConfiguration().getTemplate("tWithHeaderFalse");
- assertEquals(DISABLE_AUTO_ESCAPING_POLICY, t.getAutoEscapingPolicy());
+ assertEquals(DISABLE, t.getAutoEscapingPolicy());
assertOutput(t, "a&b");
}
{
Template t = getConfiguration().getTemplate("tWithHeaderTrue");
- assertEquals(ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY, t.getAutoEscapingPolicy());
+ assertEquals(ENABLE_IF_SUPPORTED, t.getAutoEscapingPolicy());
assertOutput(t, "a&b");
}
@@ -364,7 +364,7 @@ public class OutputFormatTest extends TemplateTest {
assertOutput(commonAutoEscFtl, "&");
} else {
setConfiguration(createDefaultConfigurationBuilder()
- .autoEscapingPolicy(DISABLE_AUTO_ESCAPING_POLICY)
+ .autoEscapingPolicy(DISABLE)
.build());
assertOutput(commonAutoEscFtl, "&");
}
@@ -781,19 +781,19 @@ public class OutputFormatTest extends TemplateTest {
TestConfigurationBuilder cfgB = createDefaultConfigurationBuilder();
cfgB.setRegisteredCustomOutputFormats(ImmutableList.<OutputFormat>of(
SeldomEscapedOutputFormat.INSTANCE, DummyOutputFormat.INSTANCE));
- assertEquals(ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, cfgB.getAutoEscapingPolicy());
+ assertEquals(ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy());
String commonFTL = "${'.'} ${.autoEsc?c}";
String notEsced = ". false";
String esced = "\\. true";
- for (int autoEscPolicy : new int[] {
- ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY,
- ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY,
- DISABLE_AUTO_ESCAPING_POLICY }) {
+ for (AutoEscapingPolicy autoEscPolicy : new AutoEscapingPolicy[] {
+ ENABLE_IF_DEFAULT,
+ ENABLE_IF_SUPPORTED,
+ DISABLE }) {
cfgB.setAutoEscapingPolicy(autoEscPolicy);
- String sExpted = autoEscPolicy == ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY ? esced : notEsced;
+ String sExpted = autoEscPolicy == ENABLE_IF_SUPPORTED ? esced : notEsced;
cfgB.setOutputFormat(SeldomEscapedOutputFormat.INSTANCE);
setConfiguration(cfgB.build());
assertOutput(commonFTL, sExpted);
@@ -802,7 +802,7 @@ public class OutputFormatTest extends TemplateTest {
assertOutput("<#ftl outputFormat='seldomEscaped'>" + commonFTL, sExpted);
assertOutput("<#outputFormat 'seldomEscaped'>" + commonFTL + "</#outputFormat>", sExpted);
- String dExpted = autoEscPolicy == DISABLE_AUTO_ESCAPING_POLICY ? notEsced : esced;
+ String dExpted = autoEscPolicy == DISABLE ? notEsced : esced;
cfgB.setOutputFormat(DummyOutputFormat.INSTANCE);
setConfiguration(cfgB.build());
assertOutput(commonFTL, dExpted);
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/ParsingErrorMessagesTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ParsingErrorMessagesTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ParsingErrorMessagesTest.java
index 8f20d6c..c8b1f7d 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ParsingErrorMessagesTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ParsingErrorMessagesTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
public class ParsingErrorMessagesTest {
private Configuration cfg = new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.AUTO_DETECT)
.build();
@Test
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/SpecialVariableTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/SpecialVariableTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/SpecialVariableTest.java
index 7e17fc7..99aae83 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/SpecialVariableTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/SpecialVariableTest.java
@@ -64,8 +64,8 @@ public class SpecialVariableTest extends TemplateTest {
public void testAutoEsc() throws Exception {
Configuration.Builder cfgB = new Configuration.Builder(Configuration.VERSION_3_0_0);
- for (int autoEscaping : new int[] {
- ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY, ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY }) {
+ for (AutoEscapingPolicy autoEscaping : new AutoEscapingPolicy[] {
+ AutoEscapingPolicy.ENABLE_IF_DEFAULT, AutoEscapingPolicy.ENABLE_IF_SUPPORTED }) {
cfgB.setAutoEscapingPolicy(autoEscaping);
cfgB.setOutputFormat(HTMLOutputFormat.INSTANCE);
setConfiguration(cfgB.build());
@@ -81,7 +81,7 @@ public class SpecialVariableTest extends TemplateTest {
assertOutput("${.autoEsc?c}", "false");
}
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY);
+ cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.DISABLE);
cfgB.setOutputFormat(HTMLOutputFormat.INSTANCE);
setConfiguration(cfgB.build());
assertOutput("${.autoEsc?c}", "false");
@@ -95,7 +95,7 @@ public class SpecialVariableTest extends TemplateTest {
setConfiguration(cfgB.build());
assertOutput("${.autoEsc?c}", "false");
- cfgB.setAutoEscapingPolicy(ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY);
+ cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.ENABLE_IF_DEFAULT);
setConfiguration(cfgB.build());
assertOutput(
"${.autoEsc?c} "
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/TagSyntaxVariationsTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TagSyntaxVariationsTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TagSyntaxVariationsTest.java
index fa21c76..7b2473b 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TagSyntaxVariationsTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TagSyntaxVariationsTest.java
@@ -70,8 +70,8 @@ public class TagSyntaxVariationsTest extends TestCase {
for (int angOrSqu = 0; angOrSqu < 2; angOrSqu++) {
Configuration cfg = new TestConfigurationBuilder()
.tagSyntax(angOrSqu == 0
- ? ParsingConfiguration.ANGLE_BRACKET_TAG_SYNTAX
- : ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX)
+ ? TagSyntax.ANGLE_BRACKET
+ : TagSyntax.SQUARE_BRACKET)
.build();
String dir_xxx = angOrSqu == 0 ? dir_ang : dir_squ;
@@ -108,7 +108,7 @@ public class TagSyntaxVariationsTest extends TestCase {
{
Configuration cfg = new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.AUTO_DETECT)
.build();
for (int perm = 0; perm < 4; perm++) {
// All 4 permutations
@@ -123,7 +123,7 @@ public class TagSyntaxVariationsTest extends TestCase {
{
Configuration cfg = new TestConfigurationBuilder()
- .tagSyntax(ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX)
+ .tagSyntax(TagSyntax.AUTO_DETECT)
.build();
// Permutations
for (int angOrSquStart = 0; angOrSquStart < 2; angOrSquStart++) {
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
index 5b1cda9..e4d4390 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
@@ -178,11 +178,11 @@ public class TemplateConfigurationTest {
// Parser-only settings:
SETTING_ASSIGNMENTS.put("templateLanguage", TemplateLanguage.STATIC_TEXT);
- SETTING_ASSIGNMENTS.put("tagSyntax", ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX);
- SETTING_ASSIGNMENTS.put("namingConvention", ParsingConfiguration.LEGACY_NAMING_CONVENTION);
+ SETTING_ASSIGNMENTS.put("tagSyntax", TagSyntax.SQUARE_BRACKET);
+ SETTING_ASSIGNMENTS.put("namingConvention", NamingConvention.LEGACY);
SETTING_ASSIGNMENTS.put("whitespaceStripping", false);
SETTING_ASSIGNMENTS.put("strictSyntaxMode", false);
- SETTING_ASSIGNMENTS.put("autoEscapingPolicy", ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY);
+ SETTING_ASSIGNMENTS.put("autoEscapingPolicy", AutoEscapingPolicy.DISABLE);
SETTING_ASSIGNMENTS.put("outputFormat", HTMLOutputFormat.INSTANCE);
SETTING_ASSIGNMENTS.put("recognizeStandardFileExtensions", false);
SETTING_ASSIGNMENTS.put("tabSize", 1);
@@ -541,7 +541,7 @@ public class TemplateConfigurationTest {
{
TemplateConfiguration.Builder tcb = new TemplateConfiguration.Builder();
- tcb.setTagSyntax(ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX);
+ tcb.setTagSyntax(TagSyntax.SQUARE_BRACKET);
TemplateConfiguration tc = tcb.build();
assertOutputWithoutAndWithTC(tc, "[#if true]y[/#if]", "[#if true]y[/#if]", "y");
testedProps.add(Configuration.ExtendableBuilder.TAG_SYNTAX_KEY_CAMEL_CASE);
@@ -549,7 +549,7 @@ public class TemplateConfigurationTest {
{
TemplateConfiguration.Builder tcb = new TemplateConfiguration.Builder();
- tcb.setNamingConvention(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ tcb.setNamingConvention(NamingConvention.CAMEL_CASE);
TemplateConfiguration tc = tcb.build();
assertOutputWithoutAndWithTC(tc, "<#if true>y<#elseif false>n</#if>", "y", null);
testedProps.add(Configuration.ExtendableBuilder.NAMING_CONVENTION_KEY_CAMEL_CASE);
@@ -584,7 +584,7 @@ public class TemplateConfigurationTest {
{
TemplateConfiguration.Builder tcb = new TemplateConfiguration.Builder();
tcb.setOutputFormat(XMLOutputFormat.INSTANCE);
- tcb.setAutoEscapingPolicy(ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY);
+ tcb.setAutoEscapingPolicy(AutoEscapingPolicy.DISABLE);
TemplateConfiguration tc = tcb.build();
assertOutputWithoutAndWithTC(tc, "${'a&b'}", "a&b", "a&b");
testedProps.add(Configuration.ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE);
@@ -789,7 +789,7 @@ public class TemplateConfigurationTest {
{
// Force camelCase:
- tcb.setNamingConvention(ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION);
+ tcb.setNamingConvention(NamingConvention.CAMEL_CASE);
TemplateConfiguration tc = tcb.build();
@@ -799,7 +799,7 @@ public class TemplateConfigurationTest {
{
// Force legacy:
- tcb.setNamingConvention(ParsingConfiguration.LEGACY_NAMING_CONVENTION);
+ tcb.setNamingConvention(NamingConvention.LEGACY);
TemplateConfiguration tc = tcb.build();
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java
index 68a0672..a2c077f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java
@@ -72,19 +72,19 @@ final class ASTDirSetting extends ASTDirective {
sb.append(_StringUtil.jQuote(key)).append(".");
sb.append(" The allowed setting names are: ");
- int shownNamingConvention;
+ NamingConvention shownNamingConvention;
{
- int namingConvention = tokenManager.namingConvention;
- shownNamingConvention = namingConvention != ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION
- ? namingConvention : ParsingConfiguration.LEGACY_NAMING_CONVENTION /* [2.4] CAMEL_CASE */;
+ NamingConvention namingConvention = tokenManager.namingConvention;
+ shownNamingConvention = namingConvention != NamingConvention.AUTO_DETECT
+ ? namingConvention : NamingConvention.LEGACY /* [2.4] CAMEL_CASE */;
}
boolean first = true;
for (String correctName : SETTING_NAMES) {
- int correctNameNamingConvention = _StringUtil.getIdentifierNamingConvention(correctName);
- if (shownNamingConvention == ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION
- ? correctNameNamingConvention != ParsingConfiguration.LEGACY_NAMING_CONVENTION
- : correctNameNamingConvention != ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
+ NamingConvention correctNameNamingConvention = _StringUtil.getIdentifierNamingConvention(correctName);
+ if (shownNamingConvention == NamingConvention.CAMEL_CASE
+ ? correctNameNamingConvention != NamingConvention.LEGACY
+ : correctNameNamingConvention != NamingConvention.CAMEL_CASE) {
if (first) {
first = false;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltIn.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltIn.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltIn.java
index be559f6..5a276a5 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltIn.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltIn.java
@@ -327,20 +327,20 @@ abstract class ASTExpBuiltIn extends ASTExpression implements Cloneable {
names.addAll(BUILT_INS_BY_NAME.keySet());
Collections.sort(names);
char lastLetter = 0;
-
- int shownNamingConvention;
+
+ NamingConvention shownNamingConvention;
{
- int namingConvention = tokenManager.namingConvention;
- shownNamingConvention = namingConvention != ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION
- ? namingConvention : ParsingConfiguration.LEGACY_NAMING_CONVENTION /* [2.4] CAMEL_CASE */;
+ NamingConvention namingConvention = tokenManager.namingConvention;
+ shownNamingConvention = namingConvention != NamingConvention.AUTO_DETECT
+ ? namingConvention : NamingConvention.LEGACY /* [2.4] CAMEL_CASE */;
}
boolean first = true;
for (String correctName : names) {
- int correctNameNamingConvetion = _StringUtil.getIdentifierNamingConvention(correctName);
- if (shownNamingConvention == ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION
- ? correctNameNamingConvetion != ParsingConfiguration.LEGACY_NAMING_CONVENTION
- : correctNameNamingConvetion != ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
+ NamingConvention correctNameNamingConvetion = _StringUtil.getIdentifierNamingConvention(correctName);
+ if (shownNamingConvention == NamingConvention.CAMEL_CASE
+ ? correctNameNamingConvetion != NamingConvention.LEGACY
+ : correctNameNamingConvetion != NamingConvention.CAMEL_CASE) {
if (first) {
first = false;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltInVariable.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltInVariable.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltInVariable.java
index ece2099..0dda491 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltInVariable.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpBuiltInVariable.java
@@ -119,12 +119,12 @@ final class ASTExpBuiltInVariable extends ASTExpression {
StringBuilder sb = new StringBuilder();
sb.append("Unknown special variable name: ");
sb.append(_StringUtil.jQuote(name)).append(".");
-
- int shownNamingConvention;
+
+ NamingConvention shownNamingConvention;
{
- int namingConvention = tokenManager.namingConvention;
- shownNamingConvention = namingConvention != ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION
- ? namingConvention : ParsingConfiguration.LEGACY_NAMING_CONVENTION /* [2.4] CAMEL_CASE */;
+ NamingConvention namingConvention = tokenManager.namingConvention;
+ shownNamingConvention = namingConvention != NamingConvention.AUTO_DETECT
+ ? namingConvention : NamingConvention.LEGACY /* [2.4] CAMEL_CASE */;
}
{
@@ -145,10 +145,10 @@ final class ASTExpBuiltInVariable extends ASTExpression {
sb.append("\nThe allowed special variable names are: ");
boolean first = true;
for (final String correctName : SPEC_VAR_NAMES) {
- int correctNameNamingConvention = _StringUtil.getIdentifierNamingConvention(correctName);
- if (shownNamingConvention == ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION
- ? correctNameNamingConvention != ParsingConfiguration.LEGACY_NAMING_CONVENTION
- : correctNameNamingConvention != ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
+ NamingConvention correctNameNamingConvention = _StringUtil.getIdentifierNamingConvention(correctName);
+ if (shownNamingConvention == NamingConvention.CAMEL_CASE
+ ? correctNameNamingConvention != NamingConvention.LEGACY
+ : correctNameNamingConvention != NamingConvention.CAMEL_CASE) {
if (first) {
first = false;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/AutoEscapingPolicy.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/AutoEscapingPolicy.java b/freemarker-core/src/main/java/org/apache/freemarker/core/AutoEscapingPolicy.java
new file mode 100644
index 0000000..c221559
--- /dev/null
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/AutoEscapingPolicy.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.freemarker.core;
+
+import org.apache.freemarker.core.outputformat.MarkupOutputFormat;
+import org.apache.freemarker.core.outputformat.OutputFormat;
+
+/**
+ * Used as the value of the {@link ParsingConfiguration#getAutoEscapingPolicy() autoEscapingPolicy} setting.
+ */
+public enum AutoEscapingPolicy {
+
+ /**
+ * Don't enable auto-escaping, regardless of what the {@link OutputFormat} is. Note that a {@code
+ * <#ftl auto_esc=true>} in the template will override this.
+ */
+ DISABLE,
+
+ /**
+ * Enable auto-escaping if the output format supports it and {@link MarkupOutputFormat#isAutoEscapedByDefault()} is
+ * {@code true}.
+ */
+ ENABLE_IF_DEFAULT,
+
+ /** Enable auto-escaping if the {@link OutputFormat} supports it. */
+ ENABLE_IF_SUPPORTED
+}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
index 710cad3..05643a0 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
@@ -74,6 +74,7 @@ import org.apache.freemarker.core.templateresolver.impl.DefaultTemplateNameForma
import org.apache.freemarker.core.templateresolver.impl.DefaultTemplateResolver;
import org.apache.freemarker.core.templateresolver.impl.MruCacheStorage;
import org.apache.freemarker.core.templateresolver.impl.SoftCacheStorage;
+import org.apache.freemarker.core.util.BugException;
import org.apache.freemarker.core.util.CaptureOutput;
import org.apache.freemarker.core.util.CommonBuilder;
import org.apache.freemarker.core.util.HtmlEscape;
@@ -242,10 +243,10 @@ public final class Configuration
// ParsingConfiguration settings:
private final TemplateLanguage templateLanguage;
- private final int tagSyntax;
- private final int namingConvention;
+ private final TagSyntax tagSyntax;
+ private final NamingConvention namingConvention;
private final boolean whitespaceStripping;
- private final int autoEscapingPolicy;
+ private final AutoEscapingPolicy autoEscapingPolicy;
private final OutputFormat outputFormat;
private final Boolean recognizeStandardFileExtensions;
private final int tabSize;
@@ -581,7 +582,7 @@ public final class Configuration
/**
* When auto-escaping should be enabled depending on the current {@linkplain OutputFormat output format};
- * default is {@link ParsingConfiguration#ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY}. Note that the default output
+ * default is {@link AutoEscapingPolicy#ENABLE_IF_DEFAULT}. Note that the default output
* format, {@link UndefinedOutputFormat}, is a non-escaping format, so there auto-escaping will be off.
* Note that the templates can turn auto-escaping on/off locally with directives like {@code <#ftl auto_esc=...>},
* which will ignore the policy.
@@ -614,13 +615,13 @@ public final class Configuration
* {@linkplain #getTemplateConfigurations() template configurations setting}. This setting is also overridden by
* the standard file extensions; see them at {@link #getRecognizeStandardFileExtensions()}.
*
- * @see Configuration.Builder#setAutoEscapingPolicy(int)
- * @see TemplateConfiguration.Builder#setAutoEscapingPolicy(int)
+ * @see Configuration.Builder#setAutoEscapingPolicy(AutoEscapingPolicy)
+ * @see TemplateConfiguration.Builder#setAutoEscapingPolicy(AutoEscapingPolicy)
* @see Configuration.Builder#setOutputFormat(OutputFormat)
* @see TemplateConfiguration.Builder#setOutputFormat(OutputFormat)
*/
@Override
- public int getAutoEscapingPolicy() {
+ public AutoEscapingPolicy getAutoEscapingPolicy() {
return autoEscapingPolicy;
}
@@ -779,7 +780,7 @@ public final class Configuration
}
@Override
- public int getTagSyntax() {
+ public TagSyntax getTagSyntax() {
return tagSyntax;
}
@@ -795,20 +796,8 @@ public final class Configuration
return true;
}
- // [FM3] Use enum; won't be needed
- static void validateNamingConventionValue(int namingConvention) {
- if (namingConvention != ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION
- && namingConvention != ParsingConfiguration.LEGACY_NAMING_CONVENTION
- && namingConvention != ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
- throw new IllegalArgumentException("\"naming_convention\" can only be set to one of these: "
- + "Configuration.AUTO_DETECT_NAMING_CONVENTION, "
- + "or Configuration.LEGACY_NAMING_CONVENTION"
- + "or Configuration.CAMEL_CASE_NAMING_CONVENTION");
- }
- }
-
@Override
- public int getNamingConvention() {
+ public NamingConvention getNamingConvention() {
return namingConvention;
}
@@ -1466,7 +1455,7 @@ public final class Configuration
}
/**
- * Same as {@link #getSupportedBuiltInNames(int)} with argument {@link #getNamingConvention()}.
+ * Same as {@link #getSupportedBuiltInNames(NamingConvention)} with argument {@link #getNamingConvention()}.
*
* @since 2.3.20
*/
@@ -1480,30 +1469,31 @@ public final class Configuration
* to be future-proof, it's an instance method.
*
* @param namingConvention
- * One of {@link ParsingConfiguration#AUTO_DETECT_NAMING_CONVENTION},
- * {@link ParsingConfiguration#LEGACY_NAMING_CONVENTION}, and
- * {@link ParsingConfiguration#CAMEL_CASE_NAMING_CONVENTION}. If it's
- * {@link ParsingConfiguration#AUTO_DETECT_NAMING_CONVENTION} then the union
+ * One of {@link NamingConvention#AUTO_DETECT},
+ * {@link NamingConvention#LEGACY}, and
+ * {@link NamingConvention#CAMEL_CASE}. If it's
+ * {@link NamingConvention#AUTO_DETECT} then the union
* of the names in all the naming conventions is returned.
*
* @since 2.3.24
*/
- public Set<String> getSupportedBuiltInNames(int namingConvention) {
+ public Set<String> getSupportedBuiltInNames(NamingConvention namingConvention) {
Set<String> names;
- if (namingConvention == ParsingConfiguration.AUTO_DETECT_NAMING_CONVENTION) {
+ if (namingConvention == NamingConvention.AUTO_DETECT) {
names = ASTExpBuiltIn.BUILT_INS_BY_NAME.keySet();
- } else if (namingConvention == ParsingConfiguration.LEGACY_NAMING_CONVENTION) {
+ } else if (namingConvention == NamingConvention.LEGACY) {
names = ASTExpBuiltIn.SNAKE_CASE_NAMES;
- } else if (namingConvention == ParsingConfiguration.CAMEL_CASE_NAMING_CONVENTION) {
+ } else if (namingConvention == NamingConvention.CAMEL_CASE) {
names = ASTExpBuiltIn.CAMEL_CASE_NAMES;
} else {
- throw new IllegalArgumentException("Unsupported naming convention constant: " + namingConvention);
+ throw new BugException("Unsupported naming convention constant: " + namingConvention);
}
return Collections.unmodifiableSet(names);
}
/**
- * Same as {@link #getSupportedBuiltInDirectiveNames(int)} with argument {@link #getNamingConvention()}.
+ * Same as {@link #getSupportedBuiltInDirectiveNames(NamingConvention)} with argument
+ * {@link #getNamingConvention()}.
*
* @since 2.3.21
*/
@@ -1516,23 +1506,23 @@ public final class Configuration
* <tt><#directiveName ...></tt>.
*
* @param namingConvention
- * One of {@link ParsingConfiguration#AUTO_DETECT_NAMING_CONVENTION},
- * {@link ParsingConfiguration#LEGACY_NAMING_CONVENTION}, and
- * {@link ParsingConfiguration#CAMEL_CASE_NAMING_CONVENTION}. If it's
- * {@link ParsingConfiguration#AUTO_DETECT_NAMING_CONVENTION} then the union
+ * One of {@link NamingConvention#AUTO_DETECT},
+ * {@link NamingConvention#LEGACY}, and
+ * {@link NamingConvention#CAMEL_CASE}. If it's
+ * {@link NamingConvention#AUTO_DETECT} then the union
* of the names in all the naming conventions is returned.
*
* @since 2.3.24
*/
- public Set<String> getSupportedBuiltInDirectiveNames(int namingConvention) {
- if (namingConvention == AUTO_DETECT_NAMING_CONVENTION) {
+ public Set<String> getSupportedBuiltInDirectiveNames(NamingConvention namingConvention) {
+ if (namingConvention == NamingConvention.AUTO_DETECT) {
return ASTDirective.ALL_BUILT_IN_DIRECTIVE_NAMES;
- } else if (namingConvention == LEGACY_NAMING_CONVENTION) {
+ } else if (namingConvention == NamingConvention.LEGACY) {
return ASTDirective.LEGACY_BUILT_IN_DIRECTIVE_NAMES;
- } else if (namingConvention == CAMEL_CASE_NAMING_CONVENTION) {
+ } else if (namingConvention == NamingConvention.CAMEL_CASE) {
return ASTDirective.CAMEL_CASE_BUILT_IN_DIRECTIVE_NAMES;
} else {
- throw new IllegalArgumentException("Unsupported naming convention constant: " + namingConvention);
+ throw new BugException("Unsupported naming convention constant: " + namingConvention);
}
}
@@ -1732,11 +1722,11 @@ public final class Configuration
setWhitespaceStripping(_StringUtil.getYesNo(value));
} else if (AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE.equals(name) || AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE.equals(name)) {
if ("enable_if_default".equals(value) || "enableIfDefault".equals(value)) {
- setAutoEscapingPolicy(ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY);
+ setAutoEscapingPolicy(AutoEscapingPolicy.ENABLE_IF_DEFAULT);
} else if ("enable_if_supported".equals(value) || "enableIfSupported".equals(value)) {
- setAutoEscapingPolicy(ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY);
+ setAutoEscapingPolicy(AutoEscapingPolicy.ENABLE_IF_SUPPORTED);
} else if ("disable".equals(value)) {
- setAutoEscapingPolicy(DISABLE_AUTO_ESCAPING_POLICY);
+ setAutoEscapingPolicy(AutoEscapingPolicy.DISABLE);
} else {
throw new ConfigurationSettingValueException( name, value,
"No such predefined auto escaping policy name");
@@ -1860,21 +1850,21 @@ public final class Configuration
}
} else if (TAG_SYNTAX_KEY_SNAKE_CASE.equals(name) || TAG_SYNTAX_KEY_CAMEL_CASE.equals(name)) {
if ("auto_detect".equals(value) || "autoDetect".equals(value)) {
- setTagSyntax(AUTO_DETECT_TAG_SYNTAX);
+ setTagSyntax(TagSyntax.AUTO_DETECT);
} else if ("angle_bracket".equals(value) || "angleBracket".equals(value)) {
- setTagSyntax(ANGLE_BRACKET_TAG_SYNTAX);
+ setTagSyntax(TagSyntax.ANGLE_BRACKET);
} else if ("square_bracket".equals(value) || "squareBracket".equals(value)) {
- setTagSyntax(SQUARE_BRACKET_TAG_SYNTAX);
+ setTagSyntax(TagSyntax.SQUARE_BRACKET);
} else {
throw new ConfigurationSettingValueException(name, value, "No such predefined tag syntax name");
}
} else if (NAMING_CONVENTION_KEY_SNAKE_CASE.equals(name) || NAMING_CONVENTION_KEY_CAMEL_CASE.equals(name)) {
if ("auto_detect".equals(value) || "autoDetect".equals(value)) {
- setNamingConvention(AUTO_DETECT_NAMING_CONVENTION);
+ setNamingConvention(NamingConvention.AUTO_DETECT);
} else if ("legacy".equals(value)) {
- setNamingConvention(LEGACY_NAMING_CONVENTION);
+ setNamingConvention(NamingConvention.LEGACY);
} else if ("camel_case".equals(value) || "camelCase".equals(value)) {
- setNamingConvention(CAMEL_CASE_NAMING_CONVENTION);
+ setNamingConvention(NamingConvention.CAMEL_CASE);
} else {
throw new ConfigurationSettingValueException(name, value,
"No such predefined naming convention name.");
@@ -2339,8 +2329,8 @@ public final class Configuration
}
@Override
- protected int getDefaultTagSyntax() {
- return ANGLE_BRACKET_TAG_SYNTAX;
+ protected TagSyntax getDefaultTagSyntax() {
+ return TagSyntax.ANGLE_BRACKET;
}
@Override
@@ -2349,8 +2339,8 @@ public final class Configuration
}
@Override
- protected int getDefaultNamingConvention() {
- return AUTO_DETECT_NAMING_CONVENTION;
+ protected NamingConvention getDefaultNamingConvention() {
+ return NamingConvention.AUTO_DETECT;
}
@Override
@@ -2413,8 +2403,8 @@ public final class Configuration
}
@Override
- protected int getDefaultAutoEscapingPolicy() {
- return ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY;
+ protected AutoEscapingPolicy getDefaultAutoEscapingPolicy() {
+ return AutoEscapingPolicy.ENABLE_IF_DEFAULT;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
index 00a387d..a053d92 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
@@ -33,10 +33,10 @@ public abstract class MutableParsingAndProcessingConfiguration<
implements ParsingAndProcessingConfiguration {
private TemplateLanguage templateLanguage;
- private Integer tagSyntax;
- private Integer namingConvention;
+ private TagSyntax tagSyntax;
+ private NamingConvention namingConvention;
private Boolean whitespaceStripping;
- private Integer autoEscapingPolicy;
+ private AutoEscapingPolicy autoEscapingPolicy;
private Boolean recognizeStandardFileExtensions;
private OutputFormat outputFormat;
private Charset sourceEncoding;
@@ -48,28 +48,19 @@ public abstract class MutableParsingAndProcessingConfiguration<
/**
* Setter pair of {@link #getTagSyntax()}.
+ *
+ * @param tagSyntax
+ * Can't be {@code null}
*/
- public void setTagSyntax(int tagSyntax) {
- valideTagSyntaxValue(tagSyntax);
+ public void setTagSyntax(TagSyntax tagSyntax) {
+ _NullArgumentException.check("tagSyntax", tagSyntax);
this.tagSyntax = tagSyntax;
}
- // [FM3] Use enum; won't be needed
- static void valideTagSyntaxValue(int tagSyntax) {
- if (tagSyntax != ParsingConfiguration.AUTO_DETECT_TAG_SYNTAX
- && tagSyntax != ParsingConfiguration.SQUARE_BRACKET_TAG_SYNTAX
- && tagSyntax != ParsingConfiguration.ANGLE_BRACKET_TAG_SYNTAX) {
- throw new IllegalArgumentException(
- "\"tagSyntax\" can only be set to one of these: "
- + "Configuration.AUTO_DETECT_TAG_SYNTAX, Configuration.ANGLE_BRACKET_SYNTAX, "
- + "or Configuration.SQUARE_BRACKET_SYNTAX");
- }
- }
-
/**
- * Fluent API equivalent of {@link #tagSyntax(int)}
+ * Fluent API equivalent of {@link #tagSyntax(TagSyntax)}
*/
- public SelfT tagSyntax(int tagSyntax) {
+ public SelfT tagSyntax(TagSyntax tagSyntax) {
setTagSyntax(tagSyntax);
return self();
}
@@ -83,7 +74,7 @@ public abstract class MutableParsingAndProcessingConfiguration<
}
@Override
- public int getTagSyntax() {
+ public TagSyntax getTagSyntax() {
return isTagSyntaxSet() ? tagSyntax : getDefaultTagSyntax();
}
@@ -91,7 +82,7 @@ public abstract class MutableParsingAndProcessingConfiguration<
* Returns the value the getter method returns when the setting is not set, possibly by inheriting the setting value
* from another {@link ParsingConfiguration}, or throws {@link SettingValueNotSetException}.
*/
- protected abstract int getDefaultTagSyntax();
+ protected abstract TagSyntax getDefaultTagSyntax();
@Override
public boolean isTagSyntaxSet() {
@@ -140,16 +131,19 @@ public abstract class MutableParsingAndProcessingConfiguration<
/**
* Setter pair of {@link #getNamingConvention()}.
+ *
+ * @param namingConvention
+ * Can't be {@code null}
*/
- public void setNamingConvention(int namingConvention) {
- Configuration.validateNamingConventionValue(namingConvention);
+ public void setNamingConvention(NamingConvention namingConvention) {
+ _NullArgumentException.check("namingConvention", namingConvention);
this.namingConvention = namingConvention;
}
/**
- * Fluent API equivalent of {@link #setNamingConvention(int)}
+ * Fluent API equivalent of {@link #setNamingConvention(NamingConvention)}
*/
- public SelfT namingConvention(int namingConvention) {
+ public SelfT namingConvention(NamingConvention namingConvention) {
setNamingConvention(namingConvention);
return self();
}
@@ -163,10 +157,10 @@ public abstract class MutableParsingAndProcessingConfiguration<
}
/**
- * The getter pair of {@link #setNamingConvention(int)}.
+ * The getter pair of {@link #setNamingConvention(NamingConvention)}.
*/
@Override
- public int getNamingConvention() {
+ public NamingConvention getNamingConvention() {
return isNamingConventionSet() ? namingConvention
: getDefaultNamingConvention();
}
@@ -175,7 +169,7 @@ public abstract class MutableParsingAndProcessingConfiguration<
* Returns the value the getter method returns when the setting is not set, possibly by inheriting the setting value
* from another {@link ParsingConfiguration}, or throws {@link SettingValueNotSetException}.
*/
- protected abstract int getDefaultNamingConvention();
+ protected abstract NamingConvention getDefaultNamingConvention();
/**
* Tells if this setting is set directly in this object or its value is inherited from the parent parsing configuration..
@@ -233,28 +227,15 @@ public abstract class MutableParsingAndProcessingConfiguration<
/**
* * Setter pair of {@link #getAutoEscapingPolicy()}.
*/
- public void setAutoEscapingPolicy(int autoEscapingPolicy) {
- validateAutoEscapingPolicyValue(autoEscapingPolicy);
+ public void setAutoEscapingPolicy(AutoEscapingPolicy autoEscapingPolicy) {
+ _NullArgumentException.check("autoEscapingPolicy", autoEscapingPolicy);
this.autoEscapingPolicy = autoEscapingPolicy;
}
- // [FM3] Use enum; won't be needed
- static void validateAutoEscapingPolicyValue(int autoEscapingPolicy) {
- if (autoEscapingPolicy != ParsingConfiguration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY
- && autoEscapingPolicy != ParsingConfiguration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY
- && autoEscapingPolicy != ParsingConfiguration.DISABLE_AUTO_ESCAPING_POLICY) {
- throw new IllegalArgumentException(
- "\"tagSyntax\" can only be set to one of these: "
- + "Configuration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY,"
- + "Configuration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY, "
- + "or Configuration.DISABLE_AUTO_ESCAPING_POLICY");
- }
- }
-
/**
- * Fluent API equivalent of {@link #setAutoEscapingPolicy(int)}
+ * Fluent API equivalent of {@link #setAutoEscapingPolicy(AutoEscapingPolicy)}
*/
- public SelfT autoEscapingPolicy(int autoEscapingPolicy) {
+ public SelfT autoEscapingPolicy(AutoEscapingPolicy autoEscapingPolicy) {
setAutoEscapingPolicy(autoEscapingPolicy);
return self();
}
@@ -268,10 +249,10 @@ public abstract class MutableParsingAndProcessingConfiguration<
}
/**
- * The getter pair of {@link #setAutoEscapingPolicy(int)}.
+ * The getter pair of {@link #setAutoEscapingPolicy(AutoEscapingPolicy)}.
*/
@Override
- public int getAutoEscapingPolicy() {
+ public AutoEscapingPolicy getAutoEscapingPolicy() {
return isAutoEscapingPolicySet() ? autoEscapingPolicy : getDefaultAutoEscapingPolicy();
}
@@ -279,7 +260,7 @@ public abstract class MutableParsingAndProcessingConfiguration<
* Returns the value the getter method returns when the setting is not set, possibly by inheriting the setting value
* from another {@link ParsingConfiguration}, or throws {@link SettingValueNotSetException}.
*/
- protected abstract int getDefaultAutoEscapingPolicy();
+ protected abstract AutoEscapingPolicy getDefaultAutoEscapingPolicy();
/**
* Tells if this setting is set directly in this object or its value is inherited from the parent parsing configuration..
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
index c5c4c82..6fc904f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
@@ -1636,10 +1636,10 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
* <li><p>{@code "auto_escaping"}:
* See {@link Configuration#getAutoEscapingPolicy()}
* <br>String value: {@code "enable_if_default"} or {@code "enableIfDefault"} for
- * {@link ParsingConfiguration#ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY},
+ * {@link AutoEscapingPolicy#ENABLE_IF_DEFAULT},
* {@code "enable_if_supported"} or {@code "enableIfSupported"} for
- * {@link ParsingConfiguration#ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY}
- * {@code "disable"} for {@link ParsingConfiguration#DISABLE_AUTO_ESCAPING_POLICY}.
+ * {@link AutoEscapingPolicy#ENABLE_IF_SUPPORTED}
+ * {@code "disable"} for {@link AutoEscapingPolicy#DISABLE}.
*
* <li><p>{@code "sourceEncoding"}:
* See {@link Configuration#getSourceEncoding()}; since 2.3.26 also accepts value "JVM default"
@@ -1796,7 +1796,7 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
* The keys and values can be any kind of expression, like even object builder expressions.
* The resulting Java object will be a {@link Map} that keeps the item order ({@link LinkedHashMap} as
* of this writing).
- * <li>A reference to a public static filed, like {@code Configuration.AUTO_DETECT_TAG_SYNTAX} or
+ * <li>A reference to a public static filed, like {@code Configuration.AUTO_DETECT} or
* {@code com.example.MyClass.MY_CONSTANT}.
* <li>An object builder expression. That is, object builder expressions can be nested into each other.
* </ul>
@@ -1815,7 +1815,8 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
* {@link AndMatcher}, {@link OrMatcher}, {@link NotMatcher}, {@link ConditionalTemplateConfigurationFactory},
* {@link MergingTemplateConfigurationFactory}, {@link FirstMatchTemplateConfigurationFactory},
* {@link HTMLOutputFormat}, {@link XMLOutputFormat}, {@link RTFOutputFormat}, {@link PlainTextOutputFormat},
- * {@link UndefinedOutputFormat}, {@link Configuration}, {@link TemplateLanguage}.
+ * {@link UndefinedOutputFormat}, {@link Configuration}, {@link TemplateLanguage}, {@link NamingConvention},
+ * {@link TagSyntax}.
* </li>
* <li>
* <p>{@link TimeZone} objects can be created like {@code TimeZone("UTC")}, despite that there's no a such
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/NamingConvention.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NamingConvention.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NamingConvention.java
new file mode 100644
index 0000000..5c347c5
--- /dev/null
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NamingConvention.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.freemarker.core;
+
+/**
+ * Used as the value of the {@link ParsingConfiguration#getNamingConvention()} namingConvention} setting.
+ */
+public enum NamingConvention {
+ AUTO_DETECT,
+ LEGACY,
+ CAMEL_CASE;
+}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99ac6973/freemarker-core/src/main/java/org/apache/freemarker/core/OutputFormatBoundBuiltIn.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/OutputFormatBoundBuiltIn.java b/freemarker-core/src/main/java/org/apache/freemarker/core/OutputFormatBoundBuiltIn.java
index c67f2c0..4193ca6 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/OutputFormatBoundBuiltIn.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/OutputFormatBoundBuiltIn.java
@@ -25,9 +25,9 @@ import org.apache.freemarker.core.util._NullArgumentException;
abstract class OutputFormatBoundBuiltIn extends SpecialBuiltIn {
protected OutputFormat outputFormat;
- protected int autoEscapingPolicy;
+ protected AutoEscapingPolicy autoEscapingPolicy;
- void bindToOutputFormat(OutputFormat outputFormat, int autoEscapingPolicy) {
+ void bindToOutputFormat(OutputFormat outputFormat, AutoEscapingPolicy autoEscapingPolicy) {
_NullArgumentException.check(outputFormat);
this.outputFormat = outputFormat;
this.autoEscapingPolicy = autoEscapingPolicy;