org.codehaus.jackson.map.introspect
Interface VisibilityChecker<T extends VisibilityChecker<T>>

All Known Implementing Classes:
VisibilityChecker.Std

public interface VisibilityChecker<T extends VisibilityChecker<T>>

Interface for object used for determine which property elements (methods, fields, constructors) can be auto-detected, with respect to their visibility modifiers.

Note on type declaration: funky recursive type is necessary to support builder/fluent pattern.

Note on compatibility: 1.9 introduced overloaded "with" method (which takes JsonAutoDetect.Visibility as value to assign); which could be potential issue, but assumption here is that all custom implementations are based on "Std" base class

Since:
1.5
Author:
tatu

Nested Class Summary
static class VisibilityChecker.Std
          Default standard implementation is purely based on visibility modifier of given class members, and its configured minimum levels.
 
Method Summary
 boolean isCreatorVisible(AnnotatedMember m)
           
 boolean isCreatorVisible(Member m)
          Method for checking whether given method is auto-detectable as Creator, with respect to its visibility (not considering method signature or name, just visibility)
 boolean isFieldVisible(AnnotatedField f)
           
 boolean isFieldVisible(Field f)
          Method for checking whether given field is auto-detectable as property, with respect to its visibility (not considering method signature or name, just visibility)
 boolean isGetterVisible(AnnotatedMethod m)
           
 boolean isGetterVisible(Method m)
          Method for checking whether given method is auto-detectable as regular getter, with respect to its visibility (not considering method signature or name, just visibility)
 boolean isIsGetterVisible(AnnotatedMethod m)
           
 boolean isIsGetterVisible(Method m)
          Method for checking whether given method is auto-detectable as is-getter, with respect to its visibility (not considering method signature or name, just visibility)
 boolean isSetterVisible(AnnotatedMethod m)
           
 boolean isSetterVisible(Method m)
          Method for checking whether given method is auto-detectable as setter, with respect to its visibility (not considering method signature or name, just visibility)
 T with(JsonAutoDetect.Visibility v)
          Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for all property elements.
 T with(JsonAutoDetect ann)
          Builder method that will return an instance that has same settings as this instance has, except for values that given annotation overrides.
 T withCreatorVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for creator methods (constructors, factory methods)
 T withFieldVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for fields.
 T withGetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for regular ("getXxx") getters.
 T withIsGetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for "is-getters" ("isXxx").
 T withSetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for setters.
 T withVisibility(JsonMethod method, JsonAutoDetect.Visibility v)
          Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for specified property.
 

Method Detail

with

T with(JsonAutoDetect ann)
Builder method that will return an instance that has same settings as this instance has, except for values that given annotation overrides.


with

T with(JsonAutoDetect.Visibility v)
Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for all property elements. Typical usage would be something like:
  mapper.setVisibilityChecker(
     mapper.getVisibilityChecker().with(Visibility.NONE));
(which would basically disable all auto-detection)

Since:
1.9

withVisibility

T withVisibility(JsonMethod method,
                 JsonAutoDetect.Visibility v)
Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for specified property. Typical usage would be:
  mapper.setVisibilityChecker(
     mapper.getVisibilityChecker().withVisibility(JsonMethod.FIELD, Visibility.ANY));
(which would basically enable auto-detection for all member fields)

Since:
1.9

withGetterVisibility

T withGetterVisibility(JsonAutoDetect.Visibility v)
Builder method that will return a checker instance that has specified minimum visibility level for regular ("getXxx") getters.


withIsGetterVisibility

T withIsGetterVisibility(JsonAutoDetect.Visibility v)
Builder method that will return a checker instance that has specified minimum visibility level for "is-getters" ("isXxx").


withSetterVisibility

T withSetterVisibility(JsonAutoDetect.Visibility v)
Builder method that will return a checker instance that has specified minimum visibility level for setters.


withCreatorVisibility

T withCreatorVisibility(JsonAutoDetect.Visibility v)
Builder method that will return a checker instance that has specified minimum visibility level for creator methods (constructors, factory methods)


withFieldVisibility

T withFieldVisibility(JsonAutoDetect.Visibility v)
Builder method that will return a checker instance that has specified minimum visibility level for fields.


isGetterVisible

boolean isGetterVisible(Method m)
Method for checking whether given method is auto-detectable as regular getter, with respect to its visibility (not considering method signature or name, just visibility)


isGetterVisible

boolean isGetterVisible(AnnotatedMethod m)

isIsGetterVisible

boolean isIsGetterVisible(Method m)
Method for checking whether given method is auto-detectable as is-getter, with respect to its visibility (not considering method signature or name, just visibility)


isIsGetterVisible

boolean isIsGetterVisible(AnnotatedMethod m)

isSetterVisible

boolean isSetterVisible(Method m)
Method for checking whether given method is auto-detectable as setter, with respect to its visibility (not considering method signature or name, just visibility)


isSetterVisible

boolean isSetterVisible(AnnotatedMethod m)

isCreatorVisible

boolean isCreatorVisible(Member m)
Method for checking whether given method is auto-detectable as Creator, with respect to its visibility (not considering method signature or name, just visibility)


isCreatorVisible

boolean isCreatorVisible(AnnotatedMember m)

isFieldVisible

boolean isFieldVisible(Field f)
Method for checking whether given field is auto-detectable as property, with respect to its visibility (not considering method signature or name, just visibility)


isFieldVisible

boolean isFieldVisible(AnnotatedField f)