org.codehaus.jackson.map.introspect
Class VisibilityChecker.Std

java.lang.Object
  extended by org.codehaus.jackson.map.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 org.codehaus.jackson.map.introspect.VisibilityChecker
VisibilityChecker.Std
 
Field Summary
protected  JsonAutoDetect.Visibility _creatorMinLevel
           
protected  JsonAutoDetect.Visibility _fieldMinLevel
           
protected  JsonAutoDetect.Visibility _getterMinLevel
           
protected  JsonAutoDetect.Visibility _isGetterMinLevel
           
protected  JsonAutoDetect.Visibility _setterMinLevel
           
protected static VisibilityChecker.Std DEFAULT
          This is the canonical base instance, configured with default visibility values
 
Constructor Summary
VisibilityChecker.Std(JsonAutoDetect.Visibility getter, JsonAutoDetect.Visibility isGetter, JsonAutoDetect.Visibility setter, JsonAutoDetect.Visibility creator, JsonAutoDetect.Visibility field)
          Constructor that allows directly specifying minimum visibility levels to use
VisibilityChecker.Std(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(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(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(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for fields.
 VisibilityChecker.Std withGetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for regular ("getXxx") getters.
 VisibilityChecker.Std withIsGetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for "is-getters" ("isXxx").
 VisibilityChecker.Std withSetterVisibility(JsonAutoDetect.Visibility v)
          Builder method that will return a checker instance that has specified minimum visibility level for setters.
 
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 JsonAutoDetect.Visibility _getterMinLevel

_isGetterMinLevel

protected final JsonAutoDetect.Visibility _isGetterMinLevel

_setterMinLevel

protected final JsonAutoDetect.Visibility _setterMinLevel

_creatorMinLevel

protected final JsonAutoDetect.Visibility _creatorMinLevel

_fieldMinLevel

protected final JsonAutoDetect.Visibility _fieldMinLevel
Constructor Detail

VisibilityChecker.Std

public VisibilityChecker.Std(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(JsonAutoDetect.Visibility getter,
                             JsonAutoDetect.Visibility isGetter,
                             JsonAutoDetect.Visibility setter,
                             JsonAutoDetect.Visibility creator,
                             JsonAutoDetect.Visibility field)
Constructor that allows directly specifying minimum visibility levels to use

Method Detail

defaultInstance

public static VisibilityChecker.Std defaultInstance()

with

public VisibilityChecker.Std with(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>

withGetterVisibility

public VisibilityChecker.Std withGetterVisibility(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(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(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(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(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