This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a change to branch 2.3-gae
in repository https://gitbox.apache.org/repos/asf/freemarker.git.
from 1ea65e8 Added freemarker.ext.beans.MemberAccessPolicy interface, and
the memberAccessPolicy property to BeansWrapper, and subclasses like
DefaultObjectWrapper. This allows users to implement their own program logic to
decide what members of classes will be exposed to the templates. The legacy
"unsafe methods" mechanism also builds on the same now, and by setting a custom
MemberAccessPolicy you completely replace that.
new a504e6e Fixed withArgs Manual tests
new 8ff93ba Added WhitelistMemberAccessPolicy and related internal classes
new 889d411 Deprecated FreemarkerTag (a custom JSP tag that probably
nobody uses)
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/freemarker/ext/beans/BeansWrapper.java | 25 +-
.../freemarker/ext/beans/ClassIntrospector.java | 79 +--
.../ext/beans/ClassIntrospectorBuilder.java | 6 +
.../freemarker/ext/beans/ConstructorMatcher.java} | 16 +-
.../ext/beans/ExecutableMemberSignature.java | 69 +++
.../java/freemarker/ext/beans/FieldMatcher.java} | 16 +-
.../freemarker/ext/beans/MemberAccessPolicy.java | 39 +-
.../java/freemarker/ext/beans/MemberMatcher.java | 111 ++++
...tPropertyDescriptor.java => MethodMatcher.java} | 32 +-
.../freemarker/ext/beans/TemplateAccessible.java | 45 ++
.../ext/beans/WhitelistMemberAccessPolicy.java | 411 +++++++++++++++
.../java/freemarker/ext/beans/_MethodUtil.java | 141 ++++++
.../java/freemarker/ext/jsp/FreemarkerTag.java | 4 +
.../java/freemarker/ext/jsp/JspContextModel.java | 4 +
.../freemarker/template/DefaultObjectWrapper.java | 10 +-
.../freemarker/template/utility/ClassUtil.java | 37 +-
src/manual/en_US/book.xml | 74 ++-
...DefaultObjectWrapperMemberAccessPolicyTest.java | 115 ++++-
.../freemarker/ext/beans/MethodMatcherTest.java | 179 +++++++
.../java/freemarker/ext/beans/MethodUtilTest.java | 156 ++++++
.../ext/beans/WhitelistMemberAccessPolicyTest.java | 558 +++++++++++++++++++++
.../template/DefaultObjectWrapperTest.java | 35 ++
...thArgsExamples-usingWithArgsSpecialVariable.ftl | 18 +
...gsExamples-usingWithArgsSpecialVariable.ftl.out | 18 +
.../freemarker/manual/WithArgsLastExamples.ftl | 18 +
.../WithArgsLastExamples.ftl.out} | 48 +-
26 files changed, 2126 insertions(+), 138 deletions(-)
copy src/{test/java/freemarker/ext/beans/BridgeMethodsBean.java =>
main/java/freemarker/ext/beans/ConstructorMatcher.java} (71%)
create mode 100644
src/main/java/freemarker/ext/beans/ExecutableMemberSignature.java
copy src/{test/java/freemarker/ext/beans/BridgeMethodsBean.java =>
main/java/freemarker/ext/beans/FieldMatcher.java} (77%)
create mode 100644 src/main/java/freemarker/ext/beans/MemberMatcher.java
copy src/main/java/freemarker/ext/beans/{FastPropertyDescriptor.java =>
MethodMatcher.java} (59%)
create mode 100644 src/main/java/freemarker/ext/beans/TemplateAccessible.java
create mode 100644
src/main/java/freemarker/ext/beans/WhitelistMemberAccessPolicy.java
create mode 100644 src/test/java/freemarker/ext/beans/MethodMatcherTest.java
create mode 100644 src/test/java/freemarker/ext/beans/MethodUtilTest.java
create mode 100644
src/test/java/freemarker/ext/beans/WhitelistMemberAccessPolicyTest.java
copy
src/test/resources/freemarker/{test/templatesuite/expected/listhashliteral-ici-2.3.20.txt
=> manual/WithArgsLastExamples.ftl.out} (75%)