Class VisibilityChecker.Std

  • All Implemented Interfaces:
    VisibilityChecker<VisibilityChecker.Std>, java.io.Serializable
    Enclosing interface:
    VisibilityChecker<T extends VisibilityChecker<T>>

    public static class VisibilityChecker.Std
    extends java.lang.Object
    implements VisibilityChecker<VisibilityChecker.Std>, java.io.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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      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

      Constructors 
      Constructor Description
      Std​(com.fasterxml.jackson.annotation.JsonAutoDetect ann)
      Constructor used for building instance that has minumum visibility levels as indicated by given annotation instance
      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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 construct​(com.fasterxml.jackson.annotation.JsonAutoDetect.Value vis)  
      static VisibilityChecker.Std defaultInstance()  
      boolean isCreatorVisible​(AnnotatedMember m)  
      boolean isCreatorVisible​(java.lang.reflect.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​(java.lang.reflect.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​(java.lang.reflect.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​(java.lang.reflect.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​(java.lang.reflect.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)
      java.lang.String toString()  
      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 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 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
      • _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