Class IgnoreResolver

java.lang.Object
io.smallrye.openapi.runtime.scanner.dataobject.IgnoreResolver

public class IgnoreResolver extends Object
Author:
Marc Savy <marc@rhymewithgravy.com>
  • Constructor Details

  • Method Details

    • isIgnore

      public IgnoreResolver.Visibility isIgnore(String propertyName, org.jboss.jandex.AnnotationTarget annotationTarget, org.jboss.jandex.AnnotationTarget reference)
    • referenceVisibility

      public IgnoreResolver.Visibility referenceVisibility(String propertyName, org.jboss.jandex.AnnotationTarget annotationTarget, org.jboss.jandex.AnnotationTarget reference)
    • configuresVisibility

      public static boolean configuresVisibility(AnnotationScannerContext context, org.jboss.jandex.AnnotationTarget target)
      Check whether the given target contains annotations that configure the visibility of the properties of the type annotated. This is used to only allow registration of a type if the annotation target (field or method) that refers to the type's class is not annotated with an annotation that alters the visibility of fields in the class.

      For example, in this scenario when we process `fieldB`, registration of class B's schema will not occur because it's definition is altered by and specific to its use in class A.

       
       class A {
         @JsonIgnoreProperties({"field2"})
         B fieldB;
       }
      
       class B {
         int field1;
         int field2;
       }
       
       
    • configuresVisibility

      public boolean configuresVisibility(org.jboss.jandex.AnnotationTarget reference)
    • getDescendantVisibility

      public IgnoreResolver.Visibility getDescendantVisibility(String propertyName, List<org.jboss.jandex.ClassInfo> descendants)