Package com.darkcollective.relix.lang.ast.source


package com.darkcollective.relix.lang.ast.source
Source-declaration AST — the configuration types that describe how a virtual relation retrieves its data.

Source hierarchy

 SourceConfig (sealed)
 ├── HttpSourceConfig     — HTTP/REST API (JSON or CSV response)
 ├── DatabaseSourceConfig — JDBC-accessible table or view
 └── CsvFileSourceConfig  — local CSV file
 

Column specs

Each source type carries a list of ColumnSpecs that describe the relation's schema as seen by queries. A column is either:

  • ColumnDirection.IN — an input parameter pushed into the request (e.g. a URL query parameter). Only meaningful for HttpSourceConfig.
  • ColumnDirection.OUT — a value extracted from the response or result set.

Column bindings

ColumnBinding is a sealed interface describing how a column maps to the transport:

  • Class
    Description
    API-key authentication: the connector sends a named key either as a request header or as a URL query parameter.
    Where an ApiKeyAuth key is placed in the request.
    Sealed root for an HTTP source's authentication shorthand.
    HTTP basic authentication: the connector sends Authorization: Basic <base64(username:password)>.
    Bearer-token authentication: the connector sends Authorization: Bearer <token>.
    Sealed interface describing how a column maps to the underlying transport.
    Indicates whether a column spec describes an input parameter or an output value.
    One entry of a references: block on a database or connection-table source — a foreign-key style arrow from columns of the declaring source to columns of another relation:
    Describes one column in a source declaration's schema.
    Configuration for a source bound to a table within a named connection, e.g.
    Extracts tabular data from a CSV response body.
    Configuration for a local CSV file source.
    Configuration for a named database connection — the JDBC coordinates shared by every table referenced through it.
    Configuration for a database-backed source (JDBC table or view).
    Binds an OUT column to a JSONPath expression within the response body.
    Sealed interface describing how to extract tabular data from an HTTP response.
    Configuration for a generator source — a leaf relation whose rows are produced by engine code rather than read from a file or database.
    Binds an IN column to an HTTP request header.
    HTTP request method for an HttpSourceConfig.
    Configuration for an HTTP/REST API source.
    Extracts tabular data from a JSON response body.
    Transport configuration for a local JSON file source.
    Maps a logical pagination concept to a URL query parameter.
    Declares how an HTTP source's pagination maps to URL parameters.
    Binds an IN column to a URL path segment.
    Binds an IN column to a URL query parameter.
    Sealed root interface for the transport configuration of a source declaration.