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}