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/08/05 14:27:02 UTC
[42/50] incubator-freemarker git commit: GeneralPurposeNothing also
implements TemplateHashModelEx2
GeneralPurposeNothing also implements TemplateHashModelEx2
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/889b8a96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/889b8a96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/889b8a96
Branch: refs/heads/2.3
Commit: 889b8a965a19588037a90aadf5c58d51386520ec
Parents: 2aebfe5
Author: ddekany <dd...@apache.org>
Authored: Sat Aug 5 11:16:38 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Sat Aug 5 11:16:38 2017 +0200
----------------------------------------------------------------------
.../freemarker/template/GeneralPurposeNothing.java | 15 +++++++++------
src/manual/en_US/book.xml | 8 +++++---
2 files changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/889b8a96/src/main/java/freemarker/template/GeneralPurposeNothing.java
----------------------------------------------------------------------
diff --git a/src/main/java/freemarker/template/GeneralPurposeNothing.java b/src/main/java/freemarker/template/GeneralPurposeNothing.java
index 7ba8602..8023bd8 100644
--- a/src/main/java/freemarker/template/GeneralPurposeNothing.java
+++ b/src/main/java/freemarker/template/GeneralPurposeNothing.java
@@ -19,9 +19,10 @@
package freemarker.template;
-import java.util.ArrayList;
import java.util.List;
+import freemarker.template.utility.Constants;
+
/**
* Singleton object representing nothing, used by ?if_exists built-in.
* It is meant to be interpreted in the most sensible way possible in various contexts.
@@ -29,11 +30,9 @@ import java.util.List;
*/
final class GeneralPurposeNothing
-implements TemplateBooleanModel, TemplateScalarModel, TemplateSequenceModel, TemplateHashModelEx, TemplateMethodModelEx {
+implements TemplateBooleanModel, TemplateScalarModel, TemplateSequenceModel, TemplateHashModelEx2, TemplateMethodModelEx {
private static final TemplateModel instance = new GeneralPurposeNothing();
-
- private static final TemplateCollectionModel EMPTY_COLLECTION = new SimpleCollection(new ArrayList(0));
private GeneralPurposeNothing() {
}
@@ -71,10 +70,14 @@ implements TemplateBooleanModel, TemplateScalarModel, TemplateSequenceModel, Tem
}
public TemplateCollectionModel keys() {
- return EMPTY_COLLECTION;
+ return Constants.EMPTY_COLLECTION;
}
public TemplateCollectionModel values() {
- return EMPTY_COLLECTION;
+ return Constants.EMPTY_COLLECTION;
+ }
+
+ public KeyValuePairIterator keyValuePairIterator() throws TemplateModelException {
+ return Constants.EMPTY_KEY_VALUE_PAIR_ITERATOR;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/889b8a96/src/manual/en_US/book.xml
----------------------------------------------------------------------
diff --git a/src/manual/en_US/book.xml b/src/manual/en_US/book.xml
index 1288f8a..6d6d6f9 100644
--- a/src/manual/en_US/book.xml
+++ b/src/manual/en_US/book.xml
@@ -26982,10 +26982,12 @@ TemplateModel x = env.getVariable("x"); // get variable x</programlisting>
</listitem>
<listitem>
- <para><literal>Constants.EMPTY_HASH</literal> now implements
+ <para><literal>Constants.EMPTY_HASH</literal> and
+ <literal>GeneralPurposeNothing</literal> (the value of
+ <literal>missingVar!</literal>) now implements
<literal>TemplateHashModelEx2</literal>, so it can be listed
- with <literal><#list ... as k, v></literal>. Earlier it
- was only a <literal>TemplateHashModelEx</literal>.</para>
+ with <literal><#list ... as k, v></literal>. Earlier they
+ were only a <literal>TemplateHashModelEx</literal>-s.</para>
</listitem>
<listitem>