com.fasterxml.jackson.databind.introspect
Class VisibilityChecker.Std

java.lang.Object
  extended by com.fasterxml.jackson.databind.introspect.VisibilityChecker.Std
All Implemented Interfaces:
VisibilityChecker<VisibilityChecker.Std>
Enclosing interface:
VisibilityChecker<T extends VisibilityChecker<T>>

public static class VisibilityChecker.Std
extends Object
implements VisibilityChecker<VisibilityChecker.Std>

Default standard implementation is purely based on visibility modifier of given class members, and its configured minimum levels. Implemented using "builder" (aka "Fluid") pattern, whereas instances are immutable, and configuration is achieved by chainable factory methods. As a result, type is declared is funky recursive generic type, to allow for sub-classing of build methods with property type co-variance.

Note on JsonAutoDetect annotation: it is used to access default minimum visibility access definitions.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.introspect.VisibilityChecker
VisibilityChecker.Std
 
Field Summary
protected  com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _creatorMinLevel
           
protected  com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _fieldMinLevel
           
protected  com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _getterMinLevel
           
protected  com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _isGetterMinLevel
           
protected  com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _setterMinLevel
           
protected static VisibilityChecker.Std DEFAULT
          This is the canonical base instance, configured with default visibility values
 
Constructor Summary
VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Costructor that will assign given visibility value for all properties.
VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility getter, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility isGetter, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility setter, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility creator, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility field)
          Constructor that allows directly specifying minimum visibility levels to use
VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
          Constructor used for building instance that has minumum visibility levels as indicated by given annotation instance
 
Method Summary
static VisibilityChecker.Std defaultInstance()
           
 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)
 String toString()
           
 VisibilityChecker.Std with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for all property elements.
 VisibilityChecker.Std with(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
          Builder method that will return an instance that has same settings as this instance has, except for values that given annotation overrides.
 VisibilityChecker.Std withCreatorVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for creator methods (constructors, factory methods)
 VisibilityChecker.Std withFieldVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for fields.
 VisibilityChecker.Std withGetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for regular ("getXxx") getters.
 VisibilityChecker.Std withIsGetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for "is-getters" ("isXxx").
 VisibilityChecker.Std withSetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for setters.
 VisibilityChecker.Std withVisibility(com.fasterxml.jackson.annotation.PropertyAccessor method, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
          Builder method that will create and return an instance that has specified JsonAutoDetect.Visibility value to use for specified property.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

protected static final VisibilityChecker.Std DEFAULT
This is the canonical base instance, configured with default visibility values


_getterMinLevel

protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _getterMinLevel

_isGetterMinLevel

protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _isGetterMinLevel

_setterMinLevel

protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _setterMinLevel

_creatorMinLevel

protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _creatorMinLevel

_fieldMinLevel

protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _fieldMinLevel
Constructor Detail

VisibilityChecker.Std

public VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
Constructor used for building instance that has minumum visibility levels as indicated by given annotation instance

Parameters:
ann - Annotations to use for determining minimum visibility levels

VisibilityChecker.Std

public VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility getter,
                             com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility isGetter,
                             com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility setter,
                             com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility creator,
                             com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility field)
Constructor that allows directly specifying minimum visibility levels to use


VisibilityChecker.Std

public VisibilityChecker.Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Costructor that will assign given visibility value for all properties.

Parameters:
v - level to use for all property types
Method Detail

defaultInstance

public static VisibilityChecker.Std defaultInstance()

with

public VisibilityChecker.Std with(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
Description copied from interface: VisibilityChecker
Builder method that will return an instance that has same settings as this instance has, except for values that given annotation overrides.

Specified by:
with in interface VisibilityChecker<VisibilityChecker.Std>

with

public VisibilityChecker.Std with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
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)

Specified by:
with in interface VisibilityChecker<VisibilityChecker.Std>

withVisibility

public VisibilityChecker.Std withVisibility(com.fasterxml.jackson.annotation.PropertyAccessor method,
                                            com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
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)

Specified by:
withVisibility in interface VisibilityChecker<VisibilityChecker.Std>

withGetterVisibility

public VisibilityChecker.Std withGetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
Builder method that will return a checker instance that has specified minimum visibility level for regular ("getXxx") getters.

Specified by:
withGetterVisibility in interface VisibilityChecker<VisibilityChecker.Std>

withIsGetterVisibility

public VisibilityChecker.Std withIsGetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
Builder method that will return a checker instance that has specified minimum visibility level for "is-getters" ("isXxx").

Specified by:
withIsGetterVisibility in interface VisibilityChecker<VisibilityChecker.Std>

withSetterVisibility

public VisibilityChecker.Std withSetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
Builder method that will return a checker instance that has specified minimum visibility level for setters.

Specified by:
withSetterVisibility in interface VisibilityChecker<VisibilityChecker.Std>

withCreatorVisibility

public VisibilityChecker.Std withCreatorVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
Builder method that will return a checker instance that has specified minimum visibility level for creator methods (constructors, factory methods)

Specified by:
withCreatorVisibility in interface VisibilityChecker<VisibilityChecker.Std>

withFieldVisibility

public VisibilityChecker.Std withFieldVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
Description copied from interface: VisibilityChecker
Builder method that will return a checker instance that has specified minimum visibility level for fields.

Specified by:
withFieldVisibility in interface VisibilityChecker<VisibilityChecker.Std>

isCreatorVisible

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

Specified by:
isCreatorVisible in interface VisibilityChecker<VisibilityChecker.Std>

isCreatorVisible

public boolean isCreatorVisible(AnnotatedMember m)
Specified by:
isCreatorVisible in interface VisibilityChecker<VisibilityChecker.Std>

isFieldVisible

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

Specified by:
isFieldVisible in interface VisibilityChecker<VisibilityChecker.Std>

isFieldVisible

public boolean isFieldVisible(AnnotatedField f)
Specified by:
isFieldVisible in interface VisibilityChecker<VisibilityChecker.Std>

isGetterVisible

public boolean isGetterVisible(Method m)
Description copied from interface: VisibilityChecker
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)

Specified by:
isGetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

isGetterVisible

public boolean isGetterVisible(AnnotatedMethod m)
Specified by:
isGetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

isIsGetterVisible

public boolean isIsGetterVisible(Method m)
Description copied from interface: VisibilityChecker
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)

Specified by:
isIsGetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

isIsGetterVisible

public boolean isIsGetterVisible(AnnotatedMethod m)
Specified by:
isIsGetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

isSetterVisible

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

Specified by:
isSetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

isSetterVisible

public boolean isSetterVisible(AnnotatedMethod m)
Specified by:
isSetterVisible in interface VisibilityChecker<VisibilityChecker.Std>

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012 fasterxml.com. All Rights Reserved.