com.fasterxml.jackson.databind.introspect

## Class VisibilityChecker.Std

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.VisibilityChecker.Std

All Implemented Interfaces:
  VisibilityChecker<VisibilityChecker.Std>, Serializable

Enclosing interface:
  VisibilityChecker<T extends VisibilityChecker<T>>

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

Default standard implementation is purely based on visibility modifier of given class members, and its configured minimum levels. Implemented using "builder" (or "Fluent") 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.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.introspect.VisibilityChecker

`VisibilityChecker.Std`

### Field Summary

Fields
`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` `ALL_PUBLIC` Alternate base settings used for JDK types: public visibility required for everything
`protected static VisibilityChecker.Std` `DEFAULT` This is the canonical base instance, configured with default visibility values

### Constructor Summary

Constructors
Constructor and Description
`Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)` Constructor that will assign given visibility value for all properties.

`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

`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

All Methods Static Methods Instance Methods Concrete Methods
`protected VisibilityChecker.Std` `_with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility g, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility isG, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility s, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility cr, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility f)`
`static VisibilityChecker.Std` `allPublicInstance()`
`static VisibilityChecker.Std` `construct(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)`
`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` `withOverrides(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)` Method that can be used for merging default values from `this` instance with specified overrides; and either return `this` if overrides had no effect (that is, result would be equal), or a new instance with merged visibility settings.
`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

#### ALL_PUBLIC

    protected static final VisibilityChecker.Std ALL_PUBLIC

Alternate base settings used for JDK types: public visibility required for everything

Since:
  2.13

#### _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

#### Std

    public 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

#### Std

    public 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

#### Std

    public Std(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)

Constructor 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()

Returns:
  Instance with default settings: "public" for getters/is-getters, fields; "any" for setters and legacy 1-arg constructors

#### allPublicInstance

    public static VisibilityChecker.Std allPublicInstance()

Returns:
  Instance with all visibility levels set to "public"
Since:
  2.13

#### construct

    public static VisibilityChecker.Std construct(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)

Since:
  2.9

#### _with

    protected VisibilityChecker.Std _with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility g,
                                          com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility isG,
                                          com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility s,
                                          com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility cr,
                                          com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility f)

#### 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>`

#### withOverrides

    public VisibilityChecker.Std withOverrides(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)

Description copied from interface: `VisibilityChecker`
Method that can be used for merging default values from `this` instance with specified overrides; and either return `this` if overrides had no effect (that is, result would be equal), or a new instance with merged visibility settings.

Specified by:
  `withOverrides` 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`