Class DefaultMemberAccessPolicy

  • All Implemented Interfaces:
    MemberAccessPolicy

    public final class DefaultMemberAccessPolicy
    extends java.lang.Object
    implements MemberAccessPolicy
    Member access policy, used to implement default behavior that's mostly compatible with pre-2.3.30 versions, but is somewhat safer; it still can't provide safety in practice, if you allow untrusted users to edit templates! Use WhitelistMemberAccessPolicy if you need stricter control.
    Since:
    2.3.30
    • Method Detail

      • getInstance

        public static DefaultMemberAccessPolicy getInstance​(Version incompatibleImprovements)
        Returns the singleton that's compatible with the given incompatible improvements version.
      • isToStringAlwaysExposed

        public boolean isToStringAlwaysExposed()
        Description copied from interface: MemberAccessPolicy
        If this returns true, we won't invoke the probably more expensive lookup to figure out if Object.toString() (including its overridden variants) is exposed for a given object. If this returns false, then no such optimization is made. This method was introduced as Object.toString() is called frequently, as it's used whenever an object is converted to string, like printed to the output, and it's not even a reflection-based call (we just call Object.toString() in Java). So we try to avoid the overhead of a more generic method call.
        Specified by:
        isToStringAlwaysExposed in interface MemberAccessPolicy