Repository: incubator-freemarker Updated Branches: refs/heads/3 863a9d98c -> 0356b30b0
Made TemplateModel classes used by the parser for literals Serializable. (Without this attribute values set in the #ftl header wouldn't be always Serializable, which in turn will sabotage making Template-s Serializable in the future.) Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/413c0e12 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/413c0e12 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/413c0e12 Branch: refs/heads/3 Commit: 413c0e124ba141ff7c17e7790e7469de6e386498 Parents: 863a9d9 Author: ddekany <[email protected]> Authored: Thu Apr 6 23:27:45 2017 +0200 Committer: ddekany <[email protected]> Committed: Thu Apr 6 23:36:46 2017 +0200 ---------------------------------------------------------------------- src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java | 3 ++- src/main/java/org/apache/freemarker/core/NativeHashEx2.java | 3 ++- src/main/java/org/apache/freemarker/core/NativeSequence.java | 3 ++- .../org/apache/freemarker/core/model/TemplateBooleanModel.java | 4 +++- .../java/org/apache/freemarker/core/model/impl/SimpleDate.java | 4 +++- 5 files changed, 12 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/413c0e12/src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java b/src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java index 50f8851..57a5a6e 100644 --- a/src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java +++ b/src/main/java/org/apache/freemarker/core/ASTExpHashLiteral.java @@ -19,6 +19,7 @@ package org.apache.freemarker.core; +import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; @@ -106,7 +107,7 @@ final class ASTExpHashLiteral extends ASTExpression { return new ASTExpHashLiteral(clonedKeys, clonedValues); } - private class SequenceHash implements TemplateHashModelEx2 { + private class SequenceHash implements TemplateHashModelEx2, Serializable { private HashMap<String, TemplateModel> map; private TemplateCollectionModel keyCollection, valueCollection; // ordered lists of keys and values http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/413c0e12/src/main/java/org/apache/freemarker/core/NativeHashEx2.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/NativeHashEx2.java b/src/main/java/org/apache/freemarker/core/NativeHashEx2.java index 7290c2f..2850255 100644 --- a/src/main/java/org/apache/freemarker/core/NativeHashEx2.java +++ b/src/main/java/org/apache/freemarker/core/NativeHashEx2.java @@ -19,6 +19,7 @@ package org.apache.freemarker.core; +import java.io.Serializable; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; @@ -36,7 +37,7 @@ import org.apache.freemarker.core.model.impl.SimpleScalar; * <p>While this class allows adding items, doing so is not thread-safe, and thus only meant to be done during the * initialization of the sequence. */ -class NativeHashEx2 implements TemplateHashModelEx2 { +class NativeHashEx2 implements TemplateHashModelEx2, Serializable { private final LinkedHashMap<String, TemplateModel> map; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/413c0e12/src/main/java/org/apache/freemarker/core/NativeSequence.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/NativeSequence.java b/src/main/java/org/apache/freemarker/core/NativeSequence.java index c27971a..d1b6886 100644 --- a/src/main/java/org/apache/freemarker/core/NativeSequence.java +++ b/src/main/java/org/apache/freemarker/core/NativeSequence.java @@ -19,6 +19,7 @@ package org.apache.freemarker.core; +import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -33,7 +34,7 @@ import org.apache.freemarker.core.model.TemplateSequenceModel; * <p>While this class allows adding items, doing so is not thread-safe, and thus only meant to be done during the * initialization of the sequence. */ -class NativeSequence implements TemplateSequenceModel { +class NativeSequence implements TemplateSequenceModel, Serializable { private final ArrayList<TemplateModel> items; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/413c0e12/src/main/java/org/apache/freemarker/core/model/TemplateBooleanModel.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/model/TemplateBooleanModel.java b/src/main/java/org/apache/freemarker/core/model/TemplateBooleanModel.java index 381edf5..555e619 100644 --- a/src/main/java/org/apache/freemarker/core/model/TemplateBooleanModel.java +++ b/src/main/java/org/apache/freemarker/core/model/TemplateBooleanModel.java @@ -19,6 +19,8 @@ package org.apache.freemarker.core.model; +import java.io.Serializable; + /** * "boolean" template language data type; same as in Java; either {@code true} or {@code false}. * @@ -26,7 +28,7 @@ package org.apache.freemarker.core.model; * Objects of this type should be immutable, that is, calling {@link #getAsBoolean()} should always return the same * value as for the first time. */ -public interface TemplateBooleanModel extends TemplateModel { +public interface TemplateBooleanModel extends TemplateModel, Serializable { /** * @return whether to interpret this object as true or false in a boolean context http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/413c0e12/src/main/java/org/apache/freemarker/core/model/impl/SimpleDate.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/model/impl/SimpleDate.java b/src/main/java/org/apache/freemarker/core/model/impl/SimpleDate.java index 38190f2..cf6e753 100644 --- a/src/main/java/org/apache/freemarker/core/model/impl/SimpleDate.java +++ b/src/main/java/org/apache/freemarker/core/model/impl/SimpleDate.java @@ -19,6 +19,8 @@ package org.apache.freemarker.core.model.impl; +import java.io.Serializable; + import org.apache.freemarker.core.model.TemplateDateModel; /** @@ -26,7 +28,7 @@ import org.apache.freemarker.core.model.TemplateDateModel; * interface. Note that this class is immutable. * <p>This class is thread-safe. */ -public class SimpleDate implements TemplateDateModel { +public class SimpleDate implements TemplateDateModel, Serializable { private final java.util.Date date; private final int type;
