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

com.dimajix.shaded.everit.schema.loader.SchemaClient Maven / Gradle / Ivy

There is a newer version: 1.2.0-synapse3.3-spark3.3-hadoop3.3
Show newest version
package com.dimajix.shaded.everit.schema.loader;

import java.io.InputStream;
import java.util.function.Function;

import com.dimajix.shaded.everit.schema.loader.internal.DefaultSchemaClient;

/**
 * This interface is used by {@link SchemaLoader} to fetch the contents denoted by remote JSON
 * pointer.
 * 

* Implementations are expected to support the HTTP/1.1 protocol, the support of other protocols is * optional. */ @FunctionalInterface public interface SchemaClient extends Function { static SchemaClient classPathAwareClient() { return new ClassPathAwareSchemaClient(new DefaultSchemaClient()); } @Override default InputStream apply(final String url) { return get(url); } /** * Returns a stream to be used for reading the remote content (response body) of the URL. In the * case of a HTTP URL, implementations are expected send HTTP GET requests and the response is * expected to be represented in UTF-8 character set. * * @param url * the URL of the remote resource * @return the input stream of the response * @throws java.io.UncheckedIOException * if an IO error occurs. */ InputStream get(String url); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy