All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fibanez.jsonschema.content.generator.ReferenceSchemaGenerator Maven / Gradle / Ivy

package com.fibanez.jsonschema.content.generator;

import com.fibanez.jsonschema.content.generator.exception.GeneratorException;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import org.everit.json.schema.ReferenceSchema;
import org.everit.json.schema.Schema;

@NoArgsConstructor(access = AccessLevel.PACKAGE)
public class ReferenceSchemaGenerator implements SchemaGenerator {

    @Override
    public Object generate(@NonNull ReferenceSchema schema, @NonNull JsonNode jsonNode) {
        Schema referredSchema = schema.getReferredSchema();
        if (referredSchema == null) {
            throw new GeneratorException("No definition found for: " + jsonNode.getPath());
        }
        return generateFrom(referredSchema, jsonNode);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy