This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a change to branch 2.3
in repository https://gitbox.apache.org/repos/asf/freemarker.git.
from aee8eb4 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
add 6c45eb6 Added ?with_args_last(args). Also some cleanup in code
related to ?with_args.
add 1321085 Fix typo
add 5c98cf4 Merge pull request #61 from quaff/2.3-gae
add 950351a Some cleanup in ClassIntrospector and BeansWrapper code
add 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.
add a504e6e Fixed withArgs Manual tests
add 8ff93ba Added WhitelistMemberAccessPolicy and related internal classes
add 889d411 Deprecated FreemarkerTag (a custom JSP tag that probably
nobody uses)
new 23760a4 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
The 1 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:
src/main/java/freemarker/core/BuiltIn.java | 9 +-
.../java/freemarker/core/BuiltInsForCallables.java | 81 ++-
src/main/java/freemarker/core/Environment.java | 165 ++++--
src/main/java/freemarker/core/Macro.java | 25 +-
src/main/java/freemarker/ext/beans/BeanModel.java | 2 +-
.../java/freemarker/ext/beans/BeansModelCache.java | 6 +-
.../java/freemarker/ext/beans/BeansWrapper.java | 37 +-
.../ext/beans/BeansWrapperConfiguration.java | 10 +-
.../freemarker/ext/beans/ClassIntrospector.java | 217 ++++----
.../ext/beans/ClassIntrospectorBuilder.java | 80 ++-
...escriptor.java => ClassMemberAccessPolicy.java} | 34 +-
.../freemarker/ext/beans/ConstructorMatcher.java} | 16 +-
...Methods.java => DefaultMemberAccessPolicy.java} | 75 ++-
.../ext/beans/ExecutableMemberSignature.java | 69 +++
.../java/freemarker/ext/beans/FieldMatcher.java} | 16 +-
.../freemarker/ext/beans/MemberAccessPolicy.java | 63 +++
.../java/freemarker/ext/beans/MemberMatcher.java | 111 ++++
...tPropertyDescriptor.java => MethodMatcher.java} | 32 +-
.../java/freemarker/ext/beans/StaticModel.java | 4 +-
.../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 +
.../java/freemarker/template/Configuration.java | 5 +-
.../freemarker/template/DefaultObjectWrapper.java | 10 +-
.../java/freemarker/template/_TemplateAPI.java | 1 +
.../freemarker/template/utility/ClassUtil.java | 37 +-
src/manual/en_US/book.xml | 245 ++++++++-
.../java/freemarker/core/WithArgsBuiltInTest.java | 147 +++++-
...DefaultObjectWrapperMemberAccessPolicyTest.java | 516 +++++++++++++++++++
.../freemarker/ext/beans/MethodMatcherTest.java | 179 +++++++
.../java/freemarker/ext/beans/MethodUtilTest.java | 156 ++++++
.../ext/beans/WhitelistMemberAccessPolicyTest.java | 558 +++++++++++++++++++++
...ArgsExamples.java => WithArgsLastExamples.java} | 4 +-
.../template/DefaultObjectWrapperTest.java | 35 ++
...thArgsExamples-usingWithArgsSpecialVariable.ftl | 18 +
...gsExamples-usingWithArgsSpecialVariable.ftl.out | 18 +
.../WithArgsLastExamples.ftl} | 36 +-
.../WithArgsLastExamples.ftl.out} | 48 +-
40 files changed, 3318 insertions(+), 352 deletions(-)
copy src/main/java/freemarker/ext/beans/{FastPropertyDescriptor.java =>
ClassMemberAccessPolicy.java} (56%)
copy src/{test/java/freemarker/ext/beans/BridgeMethodsBean.java =>
main/java/freemarker/ext/beans/ConstructorMatcher.java} (71%)
rename src/main/java/freemarker/ext/beans/{UnsafeMethods.java =>
DefaultMemberAccessPolicy.java} (56%)
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/MemberAccessPolicy.java
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/DefaultObjectWrapperMemberAccessPolicyTest.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/java/freemarker/manual/{WithArgsExamples.java =>
WithArgsLastExamples.java} (88%)
copy
src/test/resources/freemarker/{test/templatesuite/templates/listhashliteral.ftl
=> manual/WithArgsLastExamples.ftl} (61%)
copy
src/test/resources/freemarker/{test/templatesuite/expected/listhashliteral-ici-2.3.20.txt
=> manual/WithArgsLastExamples.ftl.out} (75%)