001package gudusoft.gsqlparser.common.structured; 002 003import gudusoft.gsqlparser.nodes.TParseTreeNode; 004 005/** 006 * Vendor-specific adapter that detects a structured-dataflow pattern 007 * (e.g. Spark {@code explode(from_json(col, schema))}) and returns a 008 * vendor-neutral {@link StructuredDataflowDescriptor}. Returning 009 * {@code null} means the adapter does not recognize the input, in which 010 * case existing lineage/IR behavior runs unchanged. 011 */ 012public interface StructuredDataflowAdapter { 013 014 /** 015 * @return descriptor if the adapter recognizes the pattern, else {@code null}. 016 */ 017 StructuredDataflowDescriptor describe(TParseTreeNode node, StructuredAdapterContext context); 018}