Search in sources :

Example 1 with HeaderImpl

use of org.wildfly.swarm.microprofile.openapi.api.models.headers.HeaderImpl in project wildfly-swarm by wildfly-swarm.

the class OpenApiAnnotationScanner method readHeader.

/**
 * Reads a Header annotation into a model.
 * @param annotation
 */
private Header readHeader(AnnotationInstance annotation) {
    if (annotation == null) {
        return null;
    }
    LOG.debug("Processing a single @Header annotation.");
    Header header = new HeaderImpl();
    header.setDescription(JandexUtil.stringValue(annotation, OpenApiConstants.PROP_DESCRIPTION));
    header.setSchema(readSchema(annotation.value(OpenApiConstants.PROP_SCHEMA)));
    header.setRequired(JandexUtil.booleanValue(annotation, OpenApiConstants.PROP_REQUIRED));
    header.setDeprecated(JandexUtil.booleanValue(annotation, OpenApiConstants.PROP_DEPRECATED));
    header.setAllowEmptyValue(JandexUtil.booleanValue(annotation, OpenApiConstants.PROP_ALLOW_EMPTY_VALUE));
    header.setRef(JandexUtil.refValue(annotation, RefType.Header));
    return header;
}
Also used : Header(org.eclipse.microprofile.openapi.models.headers.Header) HeaderImpl(org.wildfly.swarm.microprofile.openapi.api.models.headers.HeaderImpl)

Example 2 with HeaderImpl

use of org.wildfly.swarm.microprofile.openapi.api.models.headers.HeaderImpl in project wildfly-swarm by wildfly-swarm.

the class OpenApiParser method readHeader.

/**
 * Reads a {@link Header} OpenAPI node.
 * @param node
 */
private Header readHeader(JsonNode node) {
    if (node == null || !node.isObject()) {
        return null;
    }
    HeaderImpl model = new HeaderImpl();
    model.setRef(JsonUtil.stringProperty(node, OpenApiConstants.PROP_$REF));
    model.setDescription(JsonUtil.stringProperty(node, OpenApiConstants.PROP_DESCRIPTION));
    model.setRequired(JsonUtil.booleanProperty(node, OpenApiConstants.PROP_REQUIRED));
    model.setDeprecated(JsonUtil.booleanProperty(node, OpenApiConstants.PROP_DEPRECATED));
    model.setAllowEmptyValue(JsonUtil.booleanProperty(node, OpenApiConstants.PROP_ALLOW_EMPTY_VALUE));
    model.setStyle(readHeaderStyle(node.get(OpenApiConstants.PROP_STYLE)));
    model.setExplode(JsonUtil.booleanProperty(node, OpenApiConstants.PROP_EXPLODE));
    model.setSchema(readSchema(node.get(OpenApiConstants.PROP_SCHEMA)));
    model.setExample(readObject(node.get(OpenApiConstants.PROP_EXAMPLE)));
    model.setExamples(readExamples(node.get(OpenApiConstants.PROP_EXAMPLES)));
    model.setContent(readContent(node.get(OpenApiConstants.PROP_CONTENT)));
    readExtensions(node, model);
    return model;
}
Also used : HeaderImpl(org.wildfly.swarm.microprofile.openapi.api.models.headers.HeaderImpl)

Aggregations

HeaderImpl (org.wildfly.swarm.microprofile.openapi.api.models.headers.HeaderImpl)2 Header (org.eclipse.microprofile.openapi.models.headers.Header)1