Class SchemaFactory
- java.lang.Object
-
- io.smallrye.openapi.runtime.io.schema.SchemaFactory
-
public class SchemaFactory extends Object
- Author:
- Marc Savy <[email protected]>
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.eclipse.microprofile.openapi.models.media.Schema
enumToSchema(AnnotationScannerContext context, org.jboss.jandex.Type enumType)
Convert a Jandex enum class type to aSchema
model.Adds each enum constant name to the list of the given schema's enumeration list.static org.eclipse.microprofile.openapi.models.media.Schema
readSchema(AnnotationScannerContext context, org.eclipse.microprofile.openapi.models.media.Schema schema, org.jboss.jandex.AnnotationInstance annotation, Map<String,Object> defaults)
static org.eclipse.microprofile.openapi.models.media.Schema
readSchema(AnnotationScannerContext context, org.eclipse.microprofile.openapi.models.media.Schema schema, org.jboss.jandex.AnnotationInstance annotation, org.jboss.jandex.ClassInfo clazz)
Populates the schema using the@Schema
on the provided class.static org.eclipse.microprofile.openapi.models.media.Schema
readSchema(AnnotationScannerContext context, org.jboss.jandex.AnnotationInstance schemaAnnotation)
Reads a Schema annotation into a model.static org.eclipse.microprofile.openapi.models.media.Schema
readSchema(AnnotationScannerContext context, org.jboss.jandex.AnnotationValue value)
Reads a Schema annotation into a model.static org.eclipse.microprofile.openapi.models.media.Schema
schemaRegistration(AnnotationScannerContext context, org.jboss.jandex.Type type, org.eclipse.microprofile.openapi.models.media.Schema schema)
Register the provided schema in the SchemaRegistry if allowed.static org.eclipse.microprofile.openapi.models.media.Schema
typeToSchema(AnnotationScannerContext context, org.jboss.jandex.Type type, List<AnnotationScannerExtension> extensions)
Converts a Jandex type to aSchema
model.
-
-
-
Method Detail
-
readSchema
public static org.eclipse.microprofile.openapi.models.media.Schema readSchema(AnnotationScannerContext context, org.jboss.jandex.AnnotationValue value)
Reads a Schema annotation into a model.- Parameters:
context
- scanning contextvalue
- the annotation value- Returns:
- Schema model
-
readSchema
public static org.eclipse.microprofile.openapi.models.media.Schema readSchema(AnnotationScannerContext context, org.jboss.jandex.AnnotationInstance schemaAnnotation)
Reads a Schema annotation into a model.- Parameters:
context
- scanning contextschemaAnnotation
- the@Schema
annotation- Returns:
- Schema model
-
readSchema
public static org.eclipse.microprofile.openapi.models.media.Schema readSchema(AnnotationScannerContext context, org.eclipse.microprofile.openapi.models.media.Schema schema, org.jboss.jandex.AnnotationInstance annotation, org.jboss.jandex.ClassInfo clazz)
Populates the schema using the@Schema
on the provided class. If the schema has already been registered (in components), the existing registration will be replaced.- Parameters:
context
- scanning contextschema
- schema model to populateannotation
- schema annotation to readclazz
- the class annotated with@Schema
- Returns:
- the schema, possibly replaced if
implementation
has been specified in the annotation
-
readSchema
public static org.eclipse.microprofile.openapi.models.media.Schema readSchema(AnnotationScannerContext context, org.eclipse.microprofile.openapi.models.media.Schema schema, org.jboss.jandex.AnnotationInstance annotation, Map<String,Object> defaults)
-
typeToSchema
public static org.eclipse.microprofile.openapi.models.media.Schema typeToSchema(AnnotationScannerContext context, org.jboss.jandex.Type type, List<AnnotationScannerExtension> extensions)
Converts a Jandex type to aSchema
model.- Parameters:
context
- scanning contexttype
- the implementation type of the item to scanextensions
- list of AnnotationScannerExtensions- Returns:
- Schema model
-
enumToSchema
public static org.eclipse.microprofile.openapi.models.media.Schema enumToSchema(AnnotationScannerContext context, org.jboss.jandex.Type enumType)
Convert a Jandex enum class type to aSchema
model.Adds each enum constant name to the list of the given schema's enumeration list. The given type must be found in the index.- Parameters:
context
- scanning contextenumType
- type containing Java Enum constants- Returns:
- Schema model
- See Also:
Field.isEnumConstant()
-
schemaRegistration
public static org.eclipse.microprofile.openapi.models.media.Schema schemaRegistration(AnnotationScannerContext context, org.jboss.jandex.Type type, org.eclipse.microprofile.openapi.models.media.Schema schema)
Register the provided schema in the SchemaRegistry if allowed.- Parameters:
context
- scanning contexttype
- the type of the schema to registerschema
- a schema- Returns:
- a reference to the registered schema or the input schema when registration is not allowed/possible
-
-