FREEMARKER-55: allow building only once.
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/e12792ea Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/e12792ea Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/e12792ea Branch: refs/heads/3 Commit: e12792ea4e845baf739191ec07b34d60e2653aa9 Parents: 2a8d761 Author: Woonsan Ko <[email protected]> Authored: Wed Jul 5 18:49:32 2017 -0400 Committer: Woonsan Ko <[email protected]> Committed: Wed Jul 5 18:49:32 2017 -0400 ---------------------------------------------------------------------- .../java/org/apache/freemarker/servlet/jsp/TaglibFactory.java | 6 ++++++ 1 file changed, 6 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/e12792ea/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java ---------------------------------------------------------------------- diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java index 556c632..f4fea3b 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java @@ -2039,6 +2039,8 @@ public class TaglibFactory implements TemplateHashModel { */ private List<String> classPathTlds = new ArrayList<>(); + private boolean alreadyBuilt; + public Builder() { } @@ -2161,7 +2163,11 @@ public class TaglibFactory implements TemplateHashModel { } public TaglibFactory build() throws ConfigurationException { + if (alreadyBuilt) { + throw new IllegalStateException("build() can only be executed once."); + } TaglibFactory taglibFactory = new TaglibFactory(this); + alreadyBuilt = true; return taglibFactory; } }
