001package gudusoft.gsqlparser.catalog.input;
002
003import gudusoft.gsqlparser.catalog.input.model.UnifiedCatalogModel;
004
005import java.io.Reader;
006import java.net.URL;
007import java.nio.file.Path;
008
009/**
010 * Static helpers for constructing {@link CatalogInputSource}s. Mirror of the factory methods
011 * on {@link CatalogInputSource}, kept as a separate type so callers have a single import for
012 * the common-case "open this file as JSON" pattern.
013 *
014 * <p>Plan §7.1.</p>
015 */
016public final class CatalogInputSources {
017
018    private CatalogInputSources() {
019        // Static utility — no instances.
020    }
021
022    public static CatalogInputSource fromPath(Path path, CatalogInputKind kind) {
023        return CatalogInputSource.fromPath(path, kind);
024    }
025
026    public static CatalogInputSource fromReader(Reader reader, CatalogInputKind kind) {
027        return CatalogInputSource.fromReader(reader, kind);
028    }
029
030    public static CatalogInputSource fromUrl(URL url, CatalogInputKind kind) {
031        return CatalogInputSource.fromUrl(url, kind);
032    }
033
034    public static CatalogInputSource fromBytes(byte[] bytes, CatalogInputKind kind) {
035        return CatalogInputSource.fromBytes(bytes, kind);
036    }
037
038    public static CatalogInputSource fromMemory(UnifiedCatalogModel model) {
039        return CatalogInputSource.fromMemory(model);
040    }
041}