http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TestTemplateCallableModel.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TestTemplateCallableModel.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TestTemplateCallableModel.java index b6bf7e5..add7f44 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TestTemplateCallableModel.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TestTemplateCallableModel.java @@ -26,7 +26,7 @@ import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateCallableModel; import org.apache.freemarker.core.model.TemplateHashModelEx2; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.util.TemplateLanguageUtils; import org.apache.freemarker.core.util._StringUtils; @@ -63,8 +63,8 @@ public abstract class TestTemplateCallableModel implements TemplateCallableModel sb.append("null"); } else if (value instanceof TemplateNumberModel) { sb.append(((TemplateNumberModel) value).getAsNumber().toString()); - } else if (value instanceof TemplateScalarModel) { - sb.append(TemplateLanguageUtils.toStringLiteral(((TemplateScalarModel) value).getAsString())); + } else if (value instanceof TemplateStringModel) { + sb.append(TemplateLanguageUtils.toStringLiteral(((TemplateStringModel) value).getAsString())); } else if (value instanceof TemplateSequenceModel) { int len = ((TemplateSequenceModel) value).size(); sb.append('[');
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoNamedParamsFunction.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoNamedParamsFunction.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoNamedParamsFunction.java index b866034..f4e4c3b 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoNamedParamsFunction.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoNamedParamsFunction.java @@ -25,7 +25,7 @@ import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.ArgumentArrayLayout; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util.StringToIndexMap; public class TwoNamedParamsFunction extends TestTemplateCallableModel implements TemplateFunctionModel { @@ -60,7 +60,7 @@ public class TwoNamedParamsFunction extends TestTemplateCallableModel implements printParam(N2_ARG_NAME, args[N2_ARG_IDX], sb); sb.append(")"); - return new SimpleScalar(sb.toString()); + return new SimpleString(sb.toString()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoPositionalParamsFunction.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoPositionalParamsFunction.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoPositionalParamsFunction.java index cfce364..3954a33 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoPositionalParamsFunction.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/TwoPositionalParamsFunction.java @@ -25,7 +25,7 @@ import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.ArgumentArrayLayout; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; public class TwoPositionalParamsFunction extends TestTemplateCallableModel implements TemplateFunctionModel { @@ -48,7 +48,7 @@ public class TwoPositionalParamsFunction extends TestTemplateCallableModel imple printParam("p2", args[1], sb); sb.append(")"); - return new SimpleScalar(sb.toString()); + return new SimpleString(sb.toString()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/boolean.txt ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/boolean.txt b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/boolean.txt index 8dc1290..db589bb 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/boolean.txt +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/boolean.txt @@ -27,7 +27,7 @@ <p>Hello, world!</p> -<p>Now perform scalar boolean tests:</p> +<p>Now perform boolean tests:</p> <p> b is true.<br /> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/logging.txt ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/logging.txt b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/logging.txt index 4fa6b2a..f668edf 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/logging.txt +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/logging.txt @@ -24,4 +24,5 @@ A simple test follows: -ERROR [org.apache.freemarker.core.Template]: message is not a TemplateHashModel, it's a freemarker.template.SimpleScalar. +ERROR [org.apache.freemarker.core.Template]: message is not a TemplateHashModel, it's a freemarker.template.SimpleString +. http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/multimodels.txt ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/multimodels.txt b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/multimodels.txt index 54ec68d..18affaa 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/multimodels.txt +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/multimodels.txt @@ -25,7 +25,7 @@ <p>Let's begin with a simple model:</p> <p>Hello, world!</p> -<p>Cool, now get into the first model. This implements a scalar, list, and +<p>Cool, now get into the first model. This implements a string, list, and hash as a single class. Let's try some tests...</p> <p>MultiModel1 as a string!</p> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/sequence-builtins.txt ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/sequence-builtins.txt b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/sequence-builtins.txt index 4f7796a..f99d2aa 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/sequence-builtins.txt +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/expected/sequence-builtins.txt @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -Sorting scalars: +Sorting strings: ---------------- String order: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/boolean.ftl ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/boolean.ftl b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/boolean.ftl index 3d70cc5..ae2c399 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/boolean.ftl +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/boolean.ftl @@ -28,7 +28,7 @@ <#assign b=true> -<p>Now perform scalar boolean tests:</p> +<p>Now perform boolean tests:</p> <p><#if b> b is true.<br /> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/dateformat-iso-bi.ftl ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/dateformat-iso-bi.ftl b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/dateformat-iso-bi.ftl index 8ece40d..f2dc1cb 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/dateformat-iso-bi.ftl +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/dateformat-iso-bi.ftl @@ -132,7 +132,7 @@ <@assertEquals actual=d?iso(javaUTC) expected="2010-05-15T20:38:05Z" /> <@assertEquals actual=d?iso(javaGMT02) expected="2010-05-15T22:38:05+02:00" /> -<@assertEquals actual=d?iso(adaptedToStringScalar) expected="2010-05-15T22:38:05+02:00" /> +<@assertEquals actual=d?iso(adaptedToString) expected="2010-05-15T22:38:05+02:00" /> <#assign d = "12:00:00:1 +0000"?time("HH:mm:ss:S Z")> <@assertEquals actual=d?isoUtcMs expected="12:00:00.001Z" /> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/multimodels.ftl ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/multimodels.ftl b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/multimodels.ftl index f356386..23089c0 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/multimodels.ftl +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/multimodels.ftl @@ -25,7 +25,7 @@ <p>Let's begin with a simple model:</p> <p>${message}</p> -<p>Cool, now get into the first model. This implements a scalar, list, and +<p>Cool, now get into the first model. This implements a string, list, and hash as a single class. Let's try some tests...</p> <p>${data}</p> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/overloaded-methods.ftl ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/overloaded-methods.ftl b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/overloaded-methods.ftl index 329d041..5ab87c9 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/overloaded-methods.ftl +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/overloaded-methods.ftl @@ -364,18 +364,18 @@ <@assertEquals actual=obj.mStringArrayVarargsOverloaded4(obj.javaStringList, obj.javaStringArray) expected="mStringArrayVarargsOverloaded4(List[] [[a, b], [a, b]])" /> <@assertEquals actual=obj.mStringArrayVarargsOverloaded4(obj.javaStringArray, obj.javaStringList) expected="mStringArrayVarargsOverloaded4(List[] [[a, b], [a, b]])" /> -<@assertEquals actual=obj.mMapOrBoolean(obj.hashAndScalarModel) expected="mMapOrBoolean(Map {})" /> -<@assertEquals actual=obj.mMapOrBoolean(obj.booleanAndScalarModel) expected="mMapOrBoolean(boolean true)" /> +<@assertEquals actual=obj.mMapOrBoolean(obj.hashAndStringModel) expected="mMapOrBoolean(Map {})" /> +<@assertEquals actual=obj.mMapOrBoolean(obj.booleanAndStringModel) expected="mMapOrBoolean(boolean true)" /> <@assertEquals actual=obj.mMapOrBoolean(obj.allModels) expected="mMapOrBoolean(boolean true)" /> -<@assertEquals actual=obj.mMapOrBooleanVarargs(obj.hashAndScalarModel) expected="mMapOrBooleanVarargs(Map... [{}])" /> -<@assertEquals actual=obj.mMapOrBooleanVarargs(obj.hashAndScalarModel, obj.hashAndScalarModel) expected="mMapOrBooleanVarargs(Map... [{}, {}])" /> +<@assertEquals actual=obj.mMapOrBooleanVarargs(obj.hashAndStringModel) expected="mMapOrBooleanVarargs(Map... [{}])" /> +<@assertEquals actual=obj.mMapOrBooleanVarargs(obj.hashAndStringModel, obj.hashAndStringModel) expected="mMapOrBooleanVarargs(Map... [{}, {}])" /> <@assertEquals actual=obj.mMapOrBooleanVarargs(obj.allModels) expected="mMapOrBooleanVarargs(boolean... [true])" /> <@assertEquals actual=obj.mMapOrBooleanVarargs(obj.allModels, obj.allModels) expected="mMapOrBooleanVarargs(boolean... [true, true])" /> -<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndScalarModel) expected="mMapOrBooleanFixedAndVarargs(Map {})" /> -<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndScalarModel, obj.hashAndScalarModel) expected="mMapOrBooleanFixedAndVarargs(Map... [{}, {}])" /> -<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndScalarModel, obj.hashAndScalarModel, obj.hashAndScalarModel) expected="mMapOrBooleanFixedAndVarargs(Map... [{}, {}, {}])" /> +<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndStringModel) expected="mMapOrBooleanFixedAndVarargs(Map {})" /> +<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndStringModel, obj.hashAndStringModel) expected="mMapOrBooleanFixedAndVarargs(Map... [{}, {}])" /> +<@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.hashAndStringModel, obj.hashAndStringModel, obj.hashAndStringModel) expected="mMapOrBooleanFixedAndVarargs(Map... [{}, {}, {}])" /> <@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.allModels) expected="mMapOrBooleanFixedAndVarargs(boolean true)" /> <@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.allModels, obj.allModels) expected="mMapOrBooleanFixedAndVarargs(boolean... [true, true])" /> <@assertEquals actual=obj.mMapOrBooleanFixedAndVarargs(obj.allModels, obj.allModels, obj.allModels) expected="mMapOrBooleanFixedAndVarargs(boolean... [true, true, true])" /> http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/sequence-builtins.ftl ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/sequence-builtins.ftl b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/sequence-builtins.ftl index 7eb3453..b8cb070 100644 --- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/sequence-builtins.ftl +++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/templates/sequence-builtins.ftl @@ -27,7 +27,7 @@ <@assertEquals expected=0 actual=ls?size /> <@assertEquals expected=3 actual=set?size /> </@noOutput> -Sorting scalars: +Sorting strings: ---------------- String order: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirCapturingAssignment.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirCapturingAssignment.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirCapturingAssignment.java index d99a71d..6fc4c5f 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirCapturingAssignment.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirCapturingAssignment.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.io.StringWriter; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.outputformat.MarkupOutputFormat; import org.apache.freemarker.core.util.BugException; @@ -75,7 +75,7 @@ final class ASTDirCapturingAssignment extends ASTDirective { } private TemplateModel capturedStringToModel(String s) throws TemplateException { - return markupOutputFormat == null ? new SimpleScalar(s) : markupOutputFormat.fromMarkup(s); + return markupOutputFormat == null ? new SimpleString(s) : markupOutputFormat.fromMarkup(s); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirList.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirList.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirList.java index 2182a5c..b795ca1 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirList.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirList.java @@ -32,7 +32,7 @@ import org.apache.freemarker.core.model.TemplateHashModelEx2.KeyValuePair; import org.apache.freemarker.core.model.TemplateHashModelEx2.KeyValuePairIterator; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelIterator; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.util._StringUtils; @@ -360,7 +360,7 @@ final class ASTDirList extends ASTDirective { try { do { nestedContentParam = keysIter.next(); - if (!(nestedContentParam instanceof TemplateScalarModel)) { + if (!(nestedContentParam instanceof TemplateStringModel)) { throw new TemplateException(env, new _ErrorDescriptionBuilder( "When listing key-value pairs of traditional hash " @@ -376,7 +376,7 @@ final class ASTDirList extends ASTDirective { new _DelayedShortClassName(TemplateHashModelEx2.class), ", which leads to this restriction.")); } - nestedContentParam2 = listedHash.get(((TemplateScalarModel) nestedContentParam) + nestedContentParam2 = listedHash.get(((TemplateStringModel) nestedContentParam) .getAsString()); hasNext = keysIter.hasNext(); env.visit(childBuffer); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirRecurse.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirRecurse.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirRecurse.java index 7fe528b..1904edc 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirRecurse.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirRecurse.java @@ -24,7 +24,7 @@ import java.io.IOException; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNodeModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; @@ -50,7 +50,7 @@ final class ASTDirRecurse extends ASTDirective { TemplateModel nss = namespaces == null ? null : namespaces.eval(env); if (namespaces instanceof ASTExpStringLiteral) { - nss = env.importLib(((TemplateScalarModel) nss).getAsString(), null); + nss = env.importLib(((TemplateStringModel) nss).getAsString(), null); } else if (namespaces instanceof ASTExpListLiteral) { nss = ((ASTExpListLiteral) namespaces).evaluateStringsToNamespaces(env); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/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 d536779..953fa7f 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 @@ -24,7 +24,7 @@ import java.util.Set; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.util._SortedArraySet; import org.apache.freemarker.core.util._StringUtils; @@ -107,8 +107,8 @@ final class ASTDirSetting extends ASTDirective { ASTElement[] accept(Environment env) throws TemplateException { TemplateModel mval = value.eval(env); String strval; - if (mval instanceof TemplateScalarModel) { - strval = ((TemplateScalarModel) mval).getAsString(); + if (mval instanceof TemplateStringModel) { + strval = ((TemplateStringModel) mval).getAsString(); } else if (mval instanceof TemplateBooleanModel) { strval = ((TemplateBooleanModel) mval).getAsBoolean() ? "true" : "false"; } else if (mval instanceof TemplateNumberModel) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirVisit.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirVisit.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirVisit.java index b7438a0..d2a6e4d 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirVisit.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirVisit.java @@ -23,7 +23,7 @@ import java.io.IOException; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNodeModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; @@ -48,7 +48,7 @@ final class ASTDirVisit extends ASTDirective { TemplateModel nss = namespaces == null ? null : namespaces.eval(env); if (namespaces instanceof ASTExpStringLiteral) { - nss = env.importLib(((TemplateScalarModel) nss).getAsString(), null); + nss = env.importLib(((TemplateStringModel) nss).getAsString(), null); } else if (namespaces instanceof ASTExpListLiteral) { nss = ((ASTExpListLiteral) namespaces).evaluateStringsToNamespaces(env); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpAddOrConcat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpAddOrConcat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpAddOrConcat.java index 6667dd3..a076d7e 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpAddOrConcat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpAddOrConcat.java @@ -30,11 +30,11 @@ import org.apache.freemarker.core.model.TemplateMarkupOutputModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelIterator; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.CollectionAndSequence; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; /** * AST expression node: binary {@code +} operator. Note that this is treated separately from the other 4 arithmetic @@ -95,7 +95,7 @@ final class ASTExpAddOrConcat extends ASTExpression { if (leftOMOrStr instanceof String) { if (rightOMOrStr instanceof String) { - return new SimpleScalar(((String) leftOMOrStr).concat((String) rightOMOrStr)); + return new SimpleString(((String) leftOMOrStr).concat((String) rightOMOrStr)); } else { // rightOMOrStr instanceof TemplateMarkupOutputModel TemplateMarkupOutputModel<?> rightMO = (TemplateMarkupOutputModel<?>) rightOMOrStr; return _EvalUtils.concatMarkupOutputs(parent, @@ -275,7 +275,7 @@ final class ASTExpAddOrConcat extends ASTExpression { throws TemplateException { TemplateModelIterator it = hash.keys().iterator(); while (it.hasNext()) { - TemplateScalarModel tsm = (TemplateScalarModel) it.next(); + TemplateStringModel tsm = (TemplateStringModel) it.next(); if (set.add(tsm.getAsString())) { // The first occurence of the key decides the index; // this is consisten with stuff like java.util.LinkedHashSet. @@ -292,7 +292,7 @@ final class ASTExpAddOrConcat extends ASTExpression { int ln = keys.size(); for (int i = 0; i < ln; i++) { - seq.add(get(((TemplateScalarModel) keys.get(i)).getAsString())); + seq.add(get(((TemplateStringModel) keys.get(i)).getAsString())); } values = new CollectionAndSequence(seq); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/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 e8a115c..6ca8b9e 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 @@ -27,7 +27,7 @@ import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.impl.SimpleDate; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util._SortedArraySet; import org.apache.freemarker.core.util._StringUtils; @@ -154,45 +154,45 @@ final class ASTExpBuiltInVariable extends ASTExpression { return new VarsHash(env); } if (name == LOCALE) { - return new SimpleScalar(env.getLocale().toString()); + return new SimpleString(env.getLocale().toString()); } if (name == LOCALE_OBJECT) { return env.getObjectWrapper().wrap(env.getLocale()); } if (name == LANG) { - return new SimpleScalar(env.getLocale().getLanguage()); + return new SimpleString(env.getLocale().getLanguage()); } if (name == NODE) { return env.getCurrentVisitorNode(); } if (name == MAIN_TEMPLATE_NAME) { - return SimpleScalar.newInstanceOrNull(env.getMainTemplate().getLookupName()); + return SimpleString.newInstanceOrNull(env.getMainTemplate().getLookupName()); } if (name == CURRENT_TEMPLATE_NAME) { - return SimpleScalar.newInstanceOrNull(env.getCurrentTemplate().getLookupName()); + return SimpleString.newInstanceOrNull(env.getCurrentTemplate().getLookupName()); } if (name == PASS) { return ASTDirMacroOrFunction.PASS_MACRO; } if (name == OUTPUT_ENCODING) { Charset encoding = env.getOutputEncoding(); - return encoding != null ? new SimpleScalar(encoding.name()) : null; + return encoding != null ? new SimpleString(encoding.name()) : null; } if (name == URL_ESCAPING_CHARSET) { Charset charset = env.getURLEscapingCharset(); - return charset != null ? new SimpleScalar(charset.name()) : null; + return charset != null ? new SimpleString(charset.name()) : null; } if (name == ERROR) { - return new SimpleScalar(env.getCurrentRecoveredErrorMessage()); + return new SimpleString(env.getCurrentRecoveredErrorMessage()); } if (name == NOW) { return new SimpleDate(new Date(), TemplateDateModel.DATE_TIME); } if (name == VERSION) { - return new SimpleScalar(Configuration.getVersion().toString()); + return new SimpleString(Configuration.getVersion().toString()); } if (name == INCOMPATIBLE_IMPROVEMENTS) { - return new SimpleScalar(env.getConfiguration().getIncompatibleImprovements().toString()); + return new SimpleString(env.getConfiguration().getIncompatibleImprovements().toString()); } throw new TemplateException(this, http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDefault.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDefault.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDefault.java index fe1e842..6e892c9 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDefault.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDefault.java @@ -23,14 +23,14 @@ package org.apache.freemarker.core; import org.apache.freemarker.core.model.TemplateCollectionModel; import org.apache.freemarker.core.model.TemplateHashModelEx; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; /** {@code exp!defExp}, {@code (exp)!defExp} and the same two with {@code (exp)!}. */ class ASTExpDefault extends ASTExpression { static private class EmptyStringAndSequence - implements TemplateScalarModel, TemplateSequenceModel, TemplateHashModelEx { + implements TemplateStringModel, TemplateSequenceModel, TemplateHashModelEx { @Override public String getAsString() { return ""; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDynamicKeyName.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDynamicKeyName.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDynamicKeyName.java index 658be00..63e2ea2 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDynamicKeyName.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpDynamicKeyName.java @@ -22,9 +22,9 @@ package org.apache.freemarker.core; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; /** * AST expression node: {@code target[keyExpression]}, where, in FM 2.3, {@code keyExpression} can be string, a number @@ -51,8 +51,8 @@ final class ASTExpDynamicKeyName extends ASTExpression { int index = keyExpression.modelToNumber(keyModel, env).intValue(); return dealWithNumericalKey(targetModel, index, env); } - if (keyModel instanceof TemplateScalarModel) { - String key = _EvalUtils.modelToString((TemplateScalarModel) keyModel, keyExpression); + if (keyModel instanceof TemplateStringModel) { + String key = _EvalUtils.modelToString((TemplateStringModel) keyModel, keyExpression); return dealWithStringKey(targetModel, key, env); } if (keyModel instanceof RangeModel) { @@ -60,7 +60,7 @@ final class ASTExpDynamicKeyName extends ASTExpression { } throw MessageUtils.newUnexpectedOperandTypeException(keyExpression, keyModel, "number, range, or string", - new Class[] { TemplateNumberModel.class, TemplateScalarModel.class, ASTExpRange.class }, + new Class[] { TemplateNumberModel.class, TemplateStringModel.class, ASTExpRange.class }, null, env); } @@ -105,7 +105,7 @@ final class ASTExpDynamicKeyName extends ASTExpression { env); } try { - return new SimpleScalar(s.substring(index, index + 1)); + return new SimpleString(s.substring(index, index + 1)); } catch (IndexOutOfBoundsException e) { if (index < 0) { throw new TemplateException("Negative index not allowed: ", Integer.valueOf(index)); @@ -237,12 +237,12 @@ final class ASTExpDynamicKeyName extends ASTExpression { exclEndIdx = firstIdx + resultSize; } - return new SimpleScalar(targetStr.substring(firstIdx, exclEndIdx)); + return new SimpleString(targetStr.substring(firstIdx, exclEndIdx)); } } private TemplateModel emptyResult(boolean seq) { - return seq ? TemplateSequenceModel.EMPTY_SEQUENCE : TemplateScalarModel.EMPTY_STRING; + return seq ? TemplateSequenceModel.EMPTY_SEQUENCE : TemplateStringModel.EMPTY_STRING; } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpStringLiteral.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpStringLiteral.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpStringLiteral.java index 194ccef..c93483c 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpStringLiteral.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpStringLiteral.java @@ -24,15 +24,15 @@ import java.util.List; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.TemplateStringModel; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.util.TemplateLanguageUtils; /** * AST expression node: string literal */ -final class ASTExpStringLiteral extends ASTExpression implements TemplateScalarModel { +final class ASTExpStringLiteral extends ASTExpression implements TemplateStringModel { private final String value; @@ -87,7 +87,7 @@ final class ASTExpStringLiteral extends ASTExpression implements TemplateScalarM @Override TemplateModel _eval(Environment env) throws TemplateException { if (dynamicValue == null) { - return new SimpleScalar(value); + return new SimpleString(value); } else { // This should behave like concatenating the values with `+`. Thus, an interpolated expression that // returns markup promotes the result of the whole expression to markup. @@ -128,8 +128,8 @@ final class ASTExpStringLiteral extends ASTExpression implements TemplateScalarM } } // for each part return markupResult != null ? markupResult - : plainTextResult != null ? new SimpleScalar(plainTextResult.toString()) - : SimpleScalar.EMPTY_STRING; + : plainTextResult != null ? new SimpleString(plainTextResult.toString()) + : SimpleString.EMPTY_STRING; } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpression.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpression.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpression.java index fcd199c..6b6d5e2 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpression.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTExpression.java @@ -26,7 +26,7 @@ import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.BeanModel; @@ -179,8 +179,8 @@ abstract class ASTExpression extends ASTNode { return ((BeanModel) model).isEmpty(); } else if (model instanceof TemplateSequenceModel) { return ((TemplateSequenceModel) model).size() == 0; - } else if (model instanceof TemplateScalarModel) { - String s = ((TemplateScalarModel) model).getAsString(); + } else if (model instanceof TemplateStringModel) { + String s = ((TemplateStringModel) model).getAsString(); return (s == null || s.length() == 0); } else if (model == null) { return true; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInForLegacyEscaping.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInForLegacyEscaping.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInForLegacyEscaping.java index 6082a3d..96304a9 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInForLegacyEscaping.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInForLegacyEscaping.java @@ -20,7 +20,7 @@ package org.apache.freemarker.core; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; /** * A string built-in whose usage is banned when auto-escaping with a markup-output format is active. @@ -40,7 +40,7 @@ abstract class BuiltInForLegacyEscaping extends BuiltInBannedWhenAutoEscaping { if (mo.getOutputFormat().isLegacyBuiltInBypassed(key)) { return mo; } - throw MessageUtils.newUnexpectedOperandTypeException(target, tm, TemplateScalarModel.class, env); + throw MessageUtils.newUnexpectedOperandTypeException(target, tm, TemplateStringModel.class, env); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForDates.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForDates.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForDates.java index f69cfe9..8390a01 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForDates.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForDates.java @@ -29,9 +29,9 @@ import org.apache.freemarker.core.model.ArgumentArrayLayout; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.impl.SimpleDate; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util.UnrecognizedTimeZoneException; import org.apache.freemarker.core.util._DateUtils; @@ -94,8 +94,8 @@ class BuiltInsForDates { .getAdaptedObject(TimeZone.class)) instanceof TimeZone) { tzArg = (TimeZone) adaptedObj; - } else if (tzArgTM instanceof TemplateScalarModel) { - String tzName = _EvalUtils.modelToString((TemplateScalarModel) tzArgTM, null); + } else if (tzArgTM instanceof TemplateStringModel) { + String tzName = _EvalUtils.modelToString((TemplateStringModel) tzArgTM, null); try { tzArg = _DateUtils.getTimeZone(tzName); } catch (UnrecognizedTimeZoneException e) { @@ -106,11 +106,11 @@ class BuiltInsForDates { } else { throw newArgumentValueTypeException( tzArgTM, 0, - new Class[] { TemplateScalarModel.class }, "string or java.util.TimeZone", + new Class[] { TemplateStringModel.class }, "string or java.util.TimeZone", this, true); } - return new SimpleScalar(_DateUtils.dateToISO8601String( + return new SimpleString(_DateUtils.dateToISO8601String( date, dateType != TemplateDateModel.TIME, dateType != TemplateDateModel.DATE, @@ -159,7 +159,7 @@ class BuiltInsForDates { Date date, int dateType, Environment env) throws TemplateException { checkDateTypeNotUnknown(dateType); - return new SimpleScalar(_DateUtils.dateToISO8601String( + return new SimpleString(_DateUtils.dateToISO8601String( date, dateType != TemplateDateModel.TIME, dateType != TemplateDateModel.DATE, http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMarkupOutputs.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMarkupOutputs.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMarkupOutputs.java index 7d3c20e..6f0df4f 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMarkupOutputs.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMarkupOutputs.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; /** * A holder for builtins that operate exclusively on markup output left-hand value. @@ -32,7 +32,7 @@ class BuiltInsForMarkupOutputs { @Override protected TemplateModel calculateResult(TemplateMarkupOutputModel model) throws TemplateException { - return new SimpleScalar(model.getOutputFormat().getMarkupString(model)); + return new SimpleString(model.getOutputFormat().getMarkupString(model)); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMultipleTypes.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMultipleTypes.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMultipleTypes.java index 159c284..d1f9761 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMultipleTypes.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForMultipleTypes.java @@ -37,11 +37,11 @@ import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelWithAPISupport; import org.apache.freemarker.core.model.TemplateNodeModel; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util.BugException; import org.apache.freemarker.core.util.CallableUtils; import org.apache.freemarker.core.valueformat.TemplateDateFormat; @@ -61,7 +61,7 @@ class BuiltInsForMultipleTypes { if (model instanceof TemplateNumberModel) { return formatNumber(env, model); } else if (model instanceof TemplateBooleanModel) { - return new SimpleScalar(((TemplateBooleanModel) model).getAsBoolean() + return new SimpleString(((TemplateBooleanModel) model).getAsBoolean() ? TemplateBooleanFormat.C_TRUE : TemplateBooleanFormat.C_FALSE); } else { throw MessageUtils.newUnexpectedOperandTypeException( @@ -76,34 +76,34 @@ class BuiltInsForMultipleTypes { Number num = _EvalUtils.modelToNumber((TemplateNumberModel) model, target); if (num instanceof Integer || num instanceof Long) { // Accelerate these fairly common cases - return new SimpleScalar(num.toString()); + return new SimpleString(num.toString()); } else if (num instanceof Double) { double n = num.doubleValue(); if (n == Double.POSITIVE_INFINITY) { - return new SimpleScalar("INF"); + return new SimpleString("INF"); } if (n == Double.NEGATIVE_INFINITY) { - return new SimpleScalar("-INF"); + return new SimpleString("-INF"); } if (Double.isNaN(n)) { - return new SimpleScalar("NaN"); + return new SimpleString("NaN"); } // Deliberately falls through } else if (num instanceof Float) { float n = num.floatValue(); if (n == Float.POSITIVE_INFINITY) { - return new SimpleScalar("INF"); + return new SimpleString("INF"); } if (n == Float.NEGATIVE_INFINITY) { - return new SimpleScalar("-INF"); + return new SimpleString("-INF"); } if (Float.isNaN(n)) { - return new SimpleScalar("NaN"); + return new SimpleString("NaN"); } // Deliberately falls through } - return new SimpleScalar(env.getCNumberFormat().format(num)); + return new SimpleString(env.getCNumberFormat().format(num)); } } @@ -409,7 +409,7 @@ class BuiltInsForMultipleTypes { TemplateModel _eval(Environment env) throws TemplateException { TemplateModel tm = target.eval(env); target.assertNonNull(tm, env); - return (tm instanceof TemplateScalarModel) ? + return (tm instanceof TemplateStringModel) ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE; } } @@ -459,7 +459,7 @@ class BuiltInsForMultipleTypes { static class stringBI extends ASTExpBuiltIn { private class BooleanFormatter extends BuiltInCallableImpl - implements TemplateScalarModel, TemplateFunctionModel { + implements TemplateStringModel, TemplateFunctionModel { private final TemplateBooleanModel bool; private final Environment env; @@ -473,7 +473,7 @@ class BuiltInsForMultipleTypes { throws TemplateException { int argIdx = bool.getAsBoolean() ? 0 : 1; TemplateModel result = args[argIdx]; - if (!(result instanceof TemplateScalarModel)) { + if (!(result instanceof TemplateStringModel)) { // Cause usual type exception CallableUtils.castArgumentValueToString( result, argIdx, false, null, this, true); @@ -489,8 +489,8 @@ class BuiltInsForMultipleTypes { @Override public String getAsString() throws TemplateException { // Boolean should have come first... but that change would be non-BC. - if (bool instanceof TemplateScalarModel) { - return ((TemplateScalarModel) bool).getAsString(); + if (bool instanceof TemplateStringModel) { + return ((TemplateStringModel) bool).getAsString(); } else { return env.formatBoolean(bool.getAsBoolean(), true); } @@ -498,7 +498,7 @@ class BuiltInsForMultipleTypes { } private class DateFormatter extends BuiltInCallableImpl - implements TemplateScalarModel, TemplateHashModel, TemplateFunctionModel { + implements TemplateStringModel, TemplateHashModel, TemplateFunctionModel { private final TemplateDateModel dateModel; private final Environment env; private final TemplateDateFormat defaultFormat; @@ -533,7 +533,7 @@ class BuiltInsForMultipleTypes { } private TemplateModel formatWith(String key) throws TemplateException { - return new SimpleScalar(env.formatDateToPlainText(dateModel, key, target, stringBI.this)); + return new SimpleString(env.formatDateToPlainText(dateModel, key, target, stringBI.this)); } @Override @@ -563,7 +563,7 @@ class BuiltInsForMultipleTypes { } private class NumberFormatter extends BuiltInCallableImpl - implements TemplateScalarModel, TemplateHashModel, TemplateFunctionModel { + implements TemplateStringModel, TemplateHashModel, TemplateFunctionModel { private final TemplateNumberModel numberModel; private final Number number; private final Environment env; @@ -596,7 +596,7 @@ class BuiltInsForMultipleTypes { String result = env.formatNumberToPlainText(numberModel, format, target); - return new SimpleScalar(result); + return new SimpleString(result); } @Override @@ -621,19 +621,19 @@ class BuiltInsForMultipleTypes { } else if (model instanceof TemplateDateModel) { TemplateDateModel dm = (TemplateDateModel) model; return new DateFormatter(dm, env); - } else if (model instanceof SimpleScalar) { + } else if (model instanceof SimpleString) { return model; } else if (model instanceof TemplateBooleanModel) { return new BooleanFormatter((TemplateBooleanModel) model, env); - } else if (model instanceof TemplateScalarModel) { - return new SimpleScalar(((TemplateScalarModel) model).getAsString()); + } else if (model instanceof TemplateStringModel) { + return new SimpleString(((TemplateStringModel) model).getAsString()); } else { throw MessageUtils.newUnexpectedOperandTypeException( target, model, "number, date, boolean or string", new Class[] { TemplateNumberModel.class, TemplateDateModel.class, TemplateBooleanModel.class, - TemplateScalarModel.class + TemplateStringModel.class }, null, env); } @@ -651,7 +651,7 @@ class BuiltInsForMultipleTypes { if (model instanceof TemplateNumberModel) { return formatNumber(env, model); } else if (model instanceof TemplateBooleanModel) { - return new SimpleScalar(((TemplateBooleanModel) model).getAsBoolean() + return new SimpleString(((TemplateBooleanModel) model).getAsBoolean() ? TemplateBooleanFormat.C_TRUE : TemplateBooleanFormat.C_FALSE); } else { throw MessageUtils.newUnexpectedOperandTypeException( http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNestedContentParameters.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNestedContentParameters.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNestedContentParameters.java index 3767523..a018c87 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNestedContentParameters.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNestedContentParameters.java @@ -24,7 +24,7 @@ import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util.CallableUtils; @@ -106,8 +106,8 @@ class BuiltInsForNestedContentParameters { static class item_parityBI extends BuiltInForNestedContentParameter { - private static final SimpleScalar ODD = new SimpleScalar("odd"); - private static final SimpleScalar EVEN = new SimpleScalar("even"); + private static final SimpleString ODD = new SimpleString("odd"); + private static final SimpleString EVEN = new SimpleString("even"); @Override TemplateModel calculateResult(IterationContext iterCtx, Environment env) throws TemplateException { @@ -118,8 +118,8 @@ class BuiltInsForNestedContentParameters { static class item_parity_capBI extends BuiltInForNestedContentParameter { - private static final SimpleScalar ODD = new SimpleScalar("Odd"); - private static final SimpleScalar EVEN = new SimpleScalar("Even"); + private static final SimpleString ODD = new SimpleString("Odd"); + private static final SimpleString EVEN = new SimpleString("Even"); @Override TemplateModel calculateResult(IterationContext iterCtx, Environment env) throws TemplateException { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNodes.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNodes.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNodes.java index 178c0e2..b660a40 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNodes.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNodes.java @@ -26,7 +26,7 @@ import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNodeModel; import org.apache.freemarker.core.model.TemplateNodeModelEx; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util._StringUtils; /** @@ -116,7 +116,7 @@ class BuiltInsForNodes { static class node_nameBI extends BuiltInForNode { @Override TemplateModel calculateResult(TemplateNodeModel nodeModel, Environment env) throws TemplateException { - return new SimpleScalar(nodeModel.getNodeName()); + return new SimpleString(nodeModel.getNodeName()); } } @@ -125,14 +125,14 @@ class BuiltInsForNodes { @Override TemplateModel calculateResult(TemplateNodeModel nodeModel, Environment env) throws TemplateException { String nsURI = nodeModel.getNodeNamespace(); - return nsURI == null ? null : new SimpleScalar(nsURI); + return nsURI == null ? null : new SimpleString(nsURI); } } static class node_typeBI extends BuiltInForNode { @Override TemplateModel calculateResult(TemplateNodeModel nodeModel, Environment env) throws TemplateException { - return new SimpleScalar(nodeModel.getNodeType()); + return new SimpleString(nodeModel.getNodeType()); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNumbers.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNumbers.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNumbers.java index 447a644..ac3eb54 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNumbers.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForNumbers.java @@ -29,7 +29,7 @@ import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util._NumberUtils; import org.apache.freemarker.core.util._StringUtils; @@ -54,7 +54,7 @@ class BuiltInsForNumbers { throw new TemplateException(target, "The left side operand of to ?", key, " must be at least 1, but was ", Integer.valueOf(n), "."); } - return new SimpleScalar(toABC(n)); + return new SimpleString(toABC(n)); } protected abstract String toABC(int n); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForSequences.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForSequences.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForSequences.java index d0fa358..e36d767 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForSequences.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForSequences.java @@ -38,11 +38,11 @@ import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelIterator; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.CollectionAndSequence; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.model.impl.TemplateModelListSequence; import org.apache.freemarker.core.util.BugException; import org.apache.freemarker.core.util._StringUtils; @@ -236,7 +236,7 @@ class BuiltInsForSequences { } else { if (whenEmpty != null) sb.append(whenEmpty); } - return new SimpleScalar(sb.toString()); + return new SimpleString(sb.toString()); } @Override @@ -571,21 +571,21 @@ class BuiltInsForSequences { throws TemplateException { String[] subvars; TemplateModel obj = args[0]; - if (obj instanceof TemplateScalarModel) { - subvars = new String[] { ((TemplateScalarModel) obj).getAsString() }; + if (obj instanceof TemplateStringModel) { + subvars = new String[] { ((TemplateStringModel) obj).getAsString() }; } else if (obj instanceof TemplateSequenceModel) { TemplateSequenceModel seq = (TemplateSequenceModel) obj; int ln = seq.size(); subvars = new String[ln]; for (int i = 0; i < ln; i++) { TemplateModel item = seq.get(i); - if (!(item instanceof TemplateScalarModel)) { + if (!(item instanceof TemplateStringModel)) { throw new TemplateException( "The argument to ?", key, "(key), when it's a sequence, must be a " + "sequence of strings, but the item at index ", i, " is not a string."); } - subvars[i] = ((TemplateScalarModel) item).getAsString(); + subvars[i] = ((TemplateStringModel) item).getAsString(); } } else { throw new TemplateException( @@ -750,7 +750,7 @@ class BuiltInsForSequences { } // for each key if (keyType == KEY_TYPE_NOT_YET_DETECTED) { - if (key instanceof TemplateScalarModel) { + if (key instanceof TemplateStringModel) { keyType = KEY_TYPE_STRING; keyComparator = new LexicalKVPComparator( Environment.getCurrentEnvironment().getCollator()); @@ -775,10 +775,10 @@ class BuiltInsForSequences { case KEY_TYPE_STRING: try { res.add(new KVP( - ((TemplateScalarModel) key).getAsString(), + ((TemplateStringModel) key).getAsString(), item)); } catch (ClassCastException e) { - if (!(key instanceof TemplateScalarModel)) { + if (!(key instanceof TemplateStringModel)) { throw newInconsistentSortKeyTypeException( keyNamesLn, "string", "strings", i, key); } else { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java index 91eac72..bbdb18f 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java @@ -30,9 +30,9 @@ import org.apache.freemarker.core.model.ArgumentArrayLayout; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.impl.SimpleNumber; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util.CallableUtils; import org.apache.freemarker.core.util._StringUtils; @@ -51,21 +51,21 @@ class BuiltInsForStringsBasic { b.setCharAt(i, Character.toUpperCase(s.charAt(i))); s = b.toString(); } - return new SimpleScalar(s); + return new SimpleString(s); } } static class capitalizeBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.capitalize(s)); + return new SimpleString(_StringUtils.capitalize(s)); } } static class chop_linebreakBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.chomp(s)); + return new SimpleString(_StringUtils.chomp(s)); } } @@ -140,7 +140,7 @@ class BuiltInsForStringsBasic { public TemplateModel execute(TemplateModel[] args, CallPlace callPlace, Environment env) throws TemplateException { String suffix = getStringArgument(args, 0, this); - return new SimpleScalar(s.endsWith(suffix) ? s : s + suffix); + return new SimpleString(s.endsWith(suffix) ? s : s + suffix); } @Override @@ -199,7 +199,7 @@ class BuiltInsForStringsBasic { startsWithPrefix = s.startsWith(checkedPrefix); addedPrefix = checkedPrefix; } - return new SimpleScalar(startsWithPrefix ? s : addedPrefix + s); + return new SimpleString(startsWithPrefix ? s : addedPrefix + s); } @Override @@ -293,7 +293,7 @@ class BuiltInsForStringsBasic { startIndex = -1; } } - return startIndex == -1 ? TemplateScalarModel.EMPTY_STRING : new SimpleScalar(s.substring(startIndex)); + return startIndex == -1 ? TemplateStringModel.EMPTY_STRING : new SimpleString(s.substring(startIndex)); } @Override @@ -351,7 +351,7 @@ class BuiltInsForStringsBasic { } } } - return startIndex == -1 ? TemplateScalarModel.EMPTY_STRING : new SimpleScalar(s.substring(startIndex)); + return startIndex == -1 ? TemplateStringModel.EMPTY_STRING : new SimpleString(s.substring(startIndex)); } @Override @@ -400,7 +400,7 @@ class BuiltInsForStringsBasic { stopIndex = -1; } } - return stopIndex == -1 ? new SimpleScalar(s) : new SimpleScalar(s.substring(0, stopIndex)); + return stopIndex == -1 ? new SimpleString(s) : new SimpleString(s.substring(0, stopIndex)); } @Override @@ -456,7 +456,7 @@ class BuiltInsForStringsBasic { } } } - return stopIndex == -1 ? new SimpleScalar(s) : new SimpleScalar(s.substring(0, stopIndex)); + return stopIndex == -1 ? new SimpleString(s) : new SimpleString(s.substring(0, stopIndex)); } @Override @@ -484,7 +484,7 @@ class BuiltInsForStringsBasic { static class lower_caseBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(s.toLowerCase(env.getLocale())); + return new SimpleString(s.toLowerCase(env.getLocale())); } } @@ -506,7 +506,7 @@ class BuiltInsForStringsBasic { String filling = getOptionalStringArgument(args, 1, this); if (filling != null) { try { - return new SimpleScalar( + return new SimpleString( leftPadder ? _StringUtils.leftPad(s, width, filling) : _StringUtils.rightPad(s, width, filling)); @@ -520,7 +520,7 @@ class BuiltInsForStringsBasic { } } } else { - return new SimpleScalar(leftPadder ? _StringUtils.leftPad(s, width) : _StringUtils.rightPad(s, width)); + return new SimpleString(leftPadder ? _StringUtils.leftPad(s, width) : _StringUtils.rightPad(s, width)); } } @@ -555,7 +555,7 @@ class BuiltInsForStringsBasic { public TemplateModel execute(TemplateModel[] args, CallPlace callPlace, Environment env) throws TemplateException { String prefix = getStringArgument(args, 0, this); - return new SimpleScalar(s.startsWith(prefix) ? s.substring(prefix.length()) : s); + return new SimpleString(s.startsWith(prefix) ? s.substring(prefix.length()) : s); } @Override @@ -583,7 +583,7 @@ class BuiltInsForStringsBasic { public TemplateModel execute(TemplateModel[] args, CallPlace callPlace, Environment env) throws TemplateException { String suffix = getStringArgument(args, 0, this); - return new SimpleScalar(s.endsWith(suffix) ? s.substring(0, s.length() - suffix.length()) : s); + return new SimpleString(s.endsWith(suffix) ? s.substring(0, s.length() - suffix.length()) : s); } @Override @@ -710,9 +710,9 @@ class BuiltInsForStringsBasic { + ", shouldn't be greater than the end index argument, " + endIdx + ".", this); } - return new SimpleScalar(s.substring(beginIdx, endIdx)); + return new SimpleString(s.substring(beginIdx, endIdx)); } else { - return new SimpleScalar(s.substring(beginIdx)); + return new SimpleString(s.substring(beginIdx)); } } @@ -741,7 +741,7 @@ class BuiltInsForStringsBasic { static class trimBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(s.trim()); + return new SimpleString(s.trim()); } } @@ -758,14 +758,14 @@ class BuiltInsForStringsBasic { b.setCharAt(i, Character.toLowerCase(s.charAt(i))); s = b.toString(); } - return new SimpleScalar(s); + return new SimpleString(s); } } static class upper_caseBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(s.toUpperCase(env.getLocale())); + return new SimpleString(s.toUpperCase(env.getLocale())); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsEncoding.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsEncoding.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsEncoding.java index e36572c..9a51dfb 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsEncoding.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsEncoding.java @@ -28,8 +28,8 @@ import java.nio.charset.UnsupportedCharsetException; import org.apache.freemarker.core.model.ArgumentArrayLayout; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.TemplateStringModel; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util._StringUtils; class BuiltInsForStringsEncoding { @@ -38,7 +38,7 @@ class BuiltInsForStringsEncoding { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.XHTMLEnc(s)); + return new SimpleString(_StringUtils.XHTMLEnc(s)); } } @@ -46,28 +46,28 @@ class BuiltInsForStringsEncoding { static class j_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.javaStringEnc(s)); + return new SimpleString(_StringUtils.javaStringEnc(s)); } } static class js_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.javaScriptStringEnc(s)); + return new SimpleString(_StringUtils.javaScriptStringEnc(s)); } } static class json_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.jsonStringEnc(s)); + return new SimpleString(_StringUtils.jsonStringEnc(s)); } } static class rtfBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.RTFEnc(s)); + return new SimpleString(_StringUtils.RTFEnc(s)); } } @@ -118,21 +118,21 @@ class BuiltInsForStringsEncoding { static class xhtmlBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.XHTMLEnc(s)); + return new SimpleString(_StringUtils.XHTMLEnc(s)); } } static class xmlBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(_StringUtils.XMLEnc(s)); + return new SimpleString(_StringUtils.XMLEnc(s)); } } // Can't be instantiated private BuiltInsForStringsEncoding() { } - static abstract class AbstractUrlBIResult implements TemplateScalarModel, TemplateFunctionModel, + static abstract class AbstractUrlBIResult implements TemplateStringModel, TemplateFunctionModel, ASTExpBuiltIn.BuiltInCallable { protected final ASTExpBuiltIn parent; @@ -160,7 +160,7 @@ class BuiltInsForStringsEncoding { throw new TemplateException(e, "Wrong charset name, or charset is unsupported by the runtime " + "environment: " + _StringUtils.jQuote(charsetName)); } - return new SimpleScalar(encodeWithCharset(charset)); + return new SimpleString(encodeWithCharset(charset)); } catch (Exception e) { throw new TemplateException(e, "Failed to execute URL encoding."); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsMisc.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsMisc.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsMisc.java index 6280c68..d1c42cc 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsMisc.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsMisc.java @@ -29,7 +29,7 @@ import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateDirectiveModel; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.BeanModel; import org.apache.freemarker.core.model.impl.DefaultObjectWrapper; @@ -117,8 +117,8 @@ class BuiltInsForStringsMisc { } /** - * A method that takes a parameter and evaluates it as a scalar, - * then treats that scalar as template source code and returns a + * A method that takes a parameter and evaluates it as a string, + * then treats that string as template source code and returns a * transform model that evaluates the template in place. * The template inherits the configuration and environment of the executing * template. By default, its name will be equal to @@ -134,8 +134,8 @@ class BuiltInsForStringsMisc { * * <p>The built-in has two arguments: * the arguments passed to the method. It can receive at - * least one and at most two arguments, both must evaluate to a scalar. - * The first scalar is interpreted as a template source code and a template + * least one and at most two arguments, both must evaluate to a string. + * The first string is interpreted as a template source code and a template * is built from it. The second (optional) is used to give the generated * template a name. * @@ -155,12 +155,12 @@ class BuiltInsForStringsMisc { id = ((ASTExpression) new ASTExpDynamicKeyName(target, new ASTExpNumberLiteral(1)) .copyLocationFrom(target)).evalAndCoerceToPlainText(env); } - } else if (model instanceof TemplateScalarModel) { + } else if (model instanceof TemplateStringModel) { sourceExpr = target; } else { throw MessageUtils.newUnexpectedOperandTypeException( target, model, - "sequence or string", new Class[] { TemplateSequenceModel.class, TemplateScalarModel.class }, + "sequence or string", new Class[] { TemplateSequenceModel.class, TemplateStringModel.class }, null, env); } String templateSource = sourceExpr.evalAndCoerceToPlainText(env); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsRegexp.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsRegexp.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsRegexp.java index d885845..cb09e95 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsRegexp.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsRegexp.java @@ -31,9 +31,9 @@ import org.apache.freemarker.core.model.TemplateCollectionModel; import org.apache.freemarker.core.model.TemplateFunctionModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelIterator; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; -import org.apache.freemarker.core.model.impl.SimpleScalar; +import org.apache.freemarker.core.model.impl.SimpleString; import org.apache.freemarker.core.util._StringUtils; @@ -133,7 +133,7 @@ class BuiltInsForStringsRegexp { ? matcher.replaceFirst(arg2) : matcher.replaceAll(arg2); } - return new SimpleScalar(result); + return new SimpleString(result); } @Override @@ -154,7 +154,7 @@ class BuiltInsForStringsRegexp { static class RegexMatchModel implements TemplateBooleanModel, TemplateCollectionModel, TemplateSequenceModel { - static class MatchWithGroups implements TemplateScalarModel { + static class MatchWithGroups implements TemplateStringModel { final String matchedInputPart; final String[] groups; @@ -222,7 +222,7 @@ class BuiltInsForStringsRegexp { return null; } - return new SimpleScalar(firedEntireInputMatcher.group(i)); + return new SimpleString(firedEntireInputMatcher.group(i)); } catch (Exception e) { throw new TemplateException("Failed to read regular expression match group", e); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/999afd28/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java index e899ab2..c0af937 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java @@ -59,7 +59,7 @@ import org.apache.freemarker.core.model.TemplateModelIterator; import org.apache.freemarker.core.model.TemplateModelWithOriginName; import org.apache.freemarker.core.model.TemplateNodeModel; import org.apache.freemarker.core.model.TemplateNumberModel; -import org.apache.freemarker.core.model.TemplateScalarModel; +import org.apache.freemarker.core.model.TemplateStringModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleHash; import org.apache.freemarker.core.templateresolver.MalformedTemplateNameException; @@ -594,8 +594,8 @@ public final class Environment extends MutableProcessingConfiguration<Environmen // // TemplateNodeModel somehow. // If the node's type is 'text', we just output it. - if ((nodeType.equals("text") && node instanceof TemplateScalarModel)) { - out.write(((TemplateScalarModel) node).getAsString()); // TODO [FM3] Escaping? + if ((nodeType.equals("text") && node instanceof TemplateStringModel)) { + out.write(((TemplateStringModel) node).getAsString()); // TODO [FM3] Escaping? } else if (nodeType.equals("document")) { recurse(node, namespaces); } @@ -1954,18 +1954,18 @@ public final class Environment extends MutableProcessingConfiguration<Environmen if (rootDataModel instanceof TemplateHashModelEx) { TemplateModelIterator rootNames = ((TemplateHashModelEx) rootDataModel).keys().iterator(); while (rootNames.hasNext()) { - set.add(((TemplateScalarModel) rootNames.next()).getAsString()); + set.add(((TemplateStringModel) rootNames.next()).getAsString()); } } // globals for (TemplateModelIterator tmi = globalNamespace.keys().iterator(); tmi.hasNext();) { - set.add(((TemplateScalarModel) tmi.next()).getAsString()); + set.add(((TemplateStringModel) tmi.next()).getAsString()); } // current name-space for (TemplateModelIterator tmi = currentNamespace.keys().iterator(); tmi.hasNext();) { - set.add(((TemplateScalarModel) tmi.next()).getAsString()); + set.add(((TemplateStringModel) tmi.next()).getAsString()); } // locals and loop vars
