[42/50] incubator-freemarker git commit: GeneralPurposeNothing also implements TemplateHashModelEx2

2017-08-05 Thread ddekany
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 
Authored: Sat Aug 5 11:16:38 2017 +0200
Committer: ddekany 
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
 
 
 
-  Constants.EMPTY_HASH now implements
+  Constants.EMPTY_HASH and
+  GeneralPurposeNothing (the value of
+  missingVar!) now implements
   TemplateHashModelEx2, so it can be listed
-  with #list ... as k, v. Earlier it
-  was only a TemplateHashModelEx.
+  with #list ... as k, v. Earlier they
+  were only a TemplateHashModelEx-s.
 
 
 



incubator-freemarker git commit: GeneralPurposeNothing also implements TemplateHashModelEx2

2017-08-05 Thread ddekany
Repository: incubator-freemarker
Updated Branches:
  refs/heads/2.3-gae 2aebfe533 -> 889b8a965


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-gae
Commit: 889b8a965a19588037a90aadf5c58d51386520ec
Parents: 2aebfe5
Author: ddekany 
Authored: Sat Aug 5 11:16:38 2017 +0200
Committer: ddekany 
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
 
 
 
-  Constants.EMPTY_HASH now implements
+  Constants.EMPTY_HASH and
+  GeneralPurposeNothing (the value of
+  missingVar!) now implements
   TemplateHashModelEx2, so it can be listed
-  with #list ... as k, v. Earlier it
-  was only a TemplateHashModelEx.
+  with #list ... as k, v. Earlier they
+  were only a TemplateHashModelEx-s.