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 5c98cf4  Merge pull request #61 from quaff/2.3-gae
     new 950351a  Some cleanup in ClassIntrospector and BeansWrapper code
     new 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.

The 2 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/ext/beans/BeanModel.java  |   2 +-
 .../java/freemarker/ext/beans/BeansModelCache.java |   6 +-
 .../java/freemarker/ext/beans/BeansWrapper.java    |  12 +-
 .../ext/beans/BeansWrapperConfiguration.java       |  10 +-
 .../freemarker/ext/beans/ClassIntrospector.java    | 144 +++++---
 .../ext/beans/ClassIntrospectorBuilder.java        |  74 ++--
 ...escriptor.java => ClassMemberAccessPolicy.java} |  34 +-
 ...Methods.java => DefaultMemberAccessPolicy.java} |  75 +++-
 ...ChangeNotifier.java => MemberAccessPolicy.java} |  16 +-
 .../java/freemarker/ext/beans/StaticModel.java     |   4 +-
 .../java/freemarker/template/Configuration.java    |   5 +-
 .../java/freemarker/template/_TemplateAPI.java     |   1 +
 src/manual/en_US/book.xml                          |  10 +
 ...DefaultObjectWrapperMemberAccessPolicyTest.java | 409 +++++++++++++++++++++
 14 files changed, 666 insertions(+), 136 deletions(-)
 copy src/main/java/freemarker/ext/beans/{FastPropertyDescriptor.java => 
ClassMemberAccessPolicy.java} (56%)
 rename src/main/java/freemarker/ext/beans/{UnsafeMethods.java => 
DefaultMemberAccessPolicy.java} (56%)
 copy src/main/java/freemarker/ext/beans/{ClassChangeNotifier.java => 
MemberAccessPolicy.java} (53%)
 create mode 100644 
src/test/java/freemarker/ext/beans/DefaultObjectWrapperMemberAccessPolicyTest.java

Reply via email to