Class IgnoreResolver
java.lang.Object
io.smallrye.openapi.runtime.scanner.dataobject.IgnoreResolver
- Author:
- Marc Savy <marc@rhymewithgravy.com>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanconfiguresVisibility(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.booleanconfiguresVisibility(org.jboss.jandex.AnnotationTarget reference) getDescendantVisibility(String propertyName, List<org.jboss.jandex.ClassInfo> descendants) isIgnore(String propertyName, org.jboss.jandex.AnnotationTarget annotationTarget, org.jboss.jandex.AnnotationTarget reference) referenceVisibility(String propertyName, org.jboss.jandex.AnnotationTarget annotationTarget, org.jboss.jandex.AnnotationTarget reference)
-
Constructor Details
-
IgnoreResolver
-
-
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)
-