Class VisibilityChecker

java.lang.Object
tools.jackson.databind.introspect.VisibilityChecker
All Implemented Interfaces:
Serializable

public class VisibilityChecker extends Object implements Serializable
Interface for object used for determine which property elements (methods, fields, constructors) can be auto-detected, with respect to their visibility modifiers.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
     
    protected static final VisibilityChecker
     
    protected static final VisibilityChecker
    Visibility settings needed to support auto-discovery of non-private Records.
    protected static final VisibilityChecker
    This is the canonical base instance, configured with default visibility values
    private static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    VisibilityChecker(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
    Constructor used for building instance that has minumum visibility levels as indicated by given annotation instance
    VisibilityChecker(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
    Constructor that will assign given visibility value for all properties.
    VisibilityChecker(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility field, 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 scalarConstructor)
    Constructor that allows directly specifying minimum visibility levels to use
  • Method Summary

    Modifier and Type
    Method
    Description
    private com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility
    _defaultOrOverride(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility defaults, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility override)
     
    _with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility f, 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 scalarCr)
    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.
     
     
    construct(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)
     
     
    boolean
     
    boolean
    Method for checking whether given creator (other than "scalar constructor", see isScalarConstructorVisible(AnnotatedMember)) is auto-detectable as Creator, with respect to its visibility (not considering signature, just visibility)
    boolean
    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
    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
    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
    Method for checking whether given single-scalar-argument constructor is auto-detectable as delegating Creator, with respect to its visibility (not considering signature, just visibility)
    boolean
    Method for checking whether given method is auto-detectable as setter, with respect to its visibility (not considering method signature or name, just visibility)
     
    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.
    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)
    withFieldVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
    Builder method that will return a checker instance that has specified minimum visibility level for fields.
    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.
    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").
    withOverrides(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)
     
    withScalarConstructorVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
     
    withSetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
    Builder method that will return a checker instance that has specified minimum visibility level for setters.
    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 Object

    clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT

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

      protected static final VisibilityChecker ALL_PUBLIC
    • ALL_PUBLIC_EXCEPT_CREATORS

      protected static final VisibilityChecker ALL_PUBLIC_EXCEPT_CREATORS
      Visibility settings needed to support auto-discovery of non-private Records.
      Since:
      3.0
    • _fieldMinLevel

      protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _fieldMinLevel
    • _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
    • _scalarConstructorMinLevel

      protected final com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _scalarConstructorMinLevel
  • Constructor Details

    • VisibilityChecker

      public VisibilityChecker(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

      public VisibilityChecker(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility field, 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 scalarConstructor)
      Constructor that allows directly specifying minimum visibility levels to use
    • VisibilityChecker

      public VisibilityChecker(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 Details

    • construct

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

      public static VisibilityChecker defaultInstance()
    • allPublicInstance

      public static VisibilityChecker allPublicInstance()
    • allPublicExceptCreatorsInstance

      public static VisibilityChecker allPublicExceptCreatorsInstance()
    • withOverrides

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

      private com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility _defaultOrOverride(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility defaults, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility override)
    • with

      public VisibilityChecker 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. Typical usage would be something like:
        mapper.setVisibilityChecker(
           mapper.getVisibilityChecker().with(Visibility.NONE));
      
      (which would basically disable all auto-detection)
    • withVisibility

      public VisibilityChecker 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. Typical usage would be:
        mapper.setVisibilityChecker(
           mapper.getVisibilityChecker().withVisibility(JsonMethod.FIELD, Visibility.ANY));
      
      (which would basically enable auto-detection for all member fields)
    • withFieldVisibility

      public VisibilityChecker withFieldVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
      Builder method that will return a checker instance that has specified minimum visibility level for fields.
    • withGetterVisibility

      public VisibilityChecker 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.
    • withIsGetterVisibility

      public VisibilityChecker 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").
    • withSetterVisibility

      public VisibilityChecker withSetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
      Builder method that will return a checker instance that has specified minimum visibility level for setters.
    • withCreatorVisibility

      public VisibilityChecker 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)
    • withScalarConstructorVisibility

      public VisibilityChecker withScalarConstructorVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility v)
      Since:
      3.0
    • _with

      protected VisibilityChecker _with(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility f, 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 scalarCr)
      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.
    • isFieldVisible

      public boolean isFieldVisible(AnnotatedField 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)
    • isGetterVisible

      public boolean isGetterVisible(AnnotatedMethod 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)
    • isIsGetterVisible

      public boolean isIsGetterVisible(AnnotatedMethod 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)
    • isSetterVisible

      public boolean isSetterVisible(AnnotatedMethod 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)
    • isCreatorVisible

      public boolean isCreatorVisible(AnnotatedMember m)
      Method for checking whether given creator (other than "scalar constructor", see isScalarConstructorVisible(AnnotatedMember)) is auto-detectable as Creator, with respect to its visibility (not considering signature, just visibility)
    • isScalarConstructorVisible

      public boolean isScalarConstructorVisible(AnnotatedMember m)
      Method for checking whether given single-scalar-argument constructor is auto-detectable as delegating Creator, with respect to its visibility (not considering signature, just visibility)
      Since:
      3.0
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object