001package gudusoft.gsqlparser.catalog.input;
002
003import gudusoft.gsqlparser.catalog.input.model.UnifiedCatalogModel;
004
005/**
006 * Static-file or stream-input reader: parses a {@link CatalogInputSource} into a
007 * {@link UnifiedCatalogModel}.
008 *
009 * <p>Plan §7.1. Live sources implement {@link gudusoft.gsqlparser.catalog.runtime.CatalogProvider}
010 * instead.</p>
011 *
012 * <p>Phase 1A skeleton — implementations land in P1B (T1B.10..T1B.11) and Phase 2.A.</p>
013 */
014public interface CatalogInputReader {
015
016    CatalogInputKind kind();
017
018    boolean supports(CatalogInputSource source, CatalogLoadOptions options);
019
020    UnifiedCatalogModel read(CatalogInputSource source, CatalogLoadOptions options)
021            throws CatalogInputException;
022}