Package com.complexible.stardog.virtual.api

# Class DataSourceOptions

java.lang.Object
com.complexible.stardog.virtual.api.DataSourceOptions

public class DataSourceOptions extends Object
Options shared by data sources of all types.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BATCH_SIZE`
  `static final String`
  `DATA_SOURCE_QUERY_RESULT_LIMIT`
  The option to define the limit for data source query results.
  `static final int`
  `DEFAULT_BATCH_SIZE`
  The default batch size used for queries with batches
  `static final int`
  `DEFAULT_RESULT_LIMIT`
  The default limit used for data source queries.
  `static final String`
  `SECRETS_AWS_ACCESS_KEY`
  `static final String`
  `SECRETS_AWS_REGION`
  `static final String`
  `SECRETS_AWS_SECRET_KEY`
  `static final String`
  `SECRETS_AZURE_CLIENT_ID`
  `static final String`
  `SECRETS_AZURE_CLIENT_SECRET`
  `static final String`
  `SECRETS_AZURE_TENANT_ID`
  `static final String`
  `SECRETS_AZURE_URL`
  `static final String`
  `SECRETS_GOOGLE_KEY`
  `static final String`
  `SECRETS_GOOGLE_PROJECT_ID`
  `static final String`
  `SECRETS_HASHICORP_VAULT_TOKEN`
  `static final String`
  `SECRETS_HASHICORP_VAULT_URL`
  `static final String`
  `SECRETS_KEY`
  `static final String`
  `SECRETS_MANAGER`
  Secrets Management Integration
  `static final String`
  `SECRETS_VERSION`
  `static final String`
  `UNIQUE_KEY_SETS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DataSourceOptions()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static int`
  `getBatchSize(Properties options)`
  `static Map<String,Set<Set<String>>>`
  `getUniqueKeySets(Properties options)`
  Returns the parsed value of the `UNIQUE_KEY_SETS` option.
  `static Map<String,Set<Set<String>>>`
  `getUniqueKeySets(Properties options, Function<String,Pair<String,String>> splitTableColumn)`
  Parses the `UNIQUE_KEY_SETS` option using the provided `Function` to split a table and column string into a Pair.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_RESULT_LIMIT

    public static final int DEFAULT_RESULT_LIMIT
    The default limit used for data source queries.
    See Also:
      - Constant Field Values

  - ### DEFAULT_BATCH_SIZE

    public static final int DEFAULT_BATCH_SIZE
    The default batch size used for queries with batches
    See Also:
      - Constant Field Values

  - ### DATA_SOURCE_QUERY_RESULT_LIMIT

    public static final String DATA_SOURCE_QUERY_RESULT_LIMIT
    The option to define the limit for data source query results. Data source query results are kept in-memory so it is not recommended to set this limit to a high value.
    See Also:
      - Constant Field Values

  - ### UNIQUE_KEY_SETS

    public static final String UNIQUE_KEY_SETS
    See Also:
      - Constant Field Values

  - ### BATCH_SIZE

    public static final String BATCH_SIZE
    See Also:
      - Constant Field Values

  - ### SECRETS_MANAGER

    public static final String SECRETS_MANAGER
    Secrets Management Integration
    See Also:
      - Constant Field Values

  - ### SECRETS_KEY

    public static final String SECRETS_KEY
    See Also:
      - Constant Field Values

  - ### SECRETS_VERSION

    public static final String SECRETS_VERSION
    See Also:
      - Constant Field Values

  - ### SECRETS_AWS_REGION

    public static final String SECRETS_AWS_REGION
    See Also:
      - Constant Field Values

  - ### SECRETS_AWS_SECRET_KEY

    public static final String SECRETS_AWS_SECRET_KEY
    See Also:
      - Constant Field Values

  - ### SECRETS_AWS_ACCESS_KEY

    public static final String SECRETS_AWS_ACCESS_KEY
    See Also:
      - Constant Field Values

  - ### SECRETS_GOOGLE_PROJECT_ID

    public static final String SECRETS_GOOGLE_PROJECT_ID
    See Also:
      - Constant Field Values

  - ### SECRETS_GOOGLE_KEY

    public static final String SECRETS_GOOGLE_KEY
    See Also:
      - Constant Field Values

  - ### SECRETS_AZURE_URL

    public static final String SECRETS_AZURE_URL
    See Also:
      - Constant Field Values

  - ### SECRETS_AZURE_TENANT_ID

    public static final String SECRETS_AZURE_TENANT_ID
    See Also:
      - Constant Field Values

  - ### SECRETS_AZURE_CLIENT_ID

    public static final String SECRETS_AZURE_CLIENT_ID
    See Also:
      - Constant Field Values

  - ### SECRETS_AZURE_CLIENT_SECRET

    public static final String SECRETS_AZURE_CLIENT_SECRET
    See Also:
      - Constant Field Values

  - ### SECRETS_HASHICORP_VAULT_URL

    public static final String SECRETS_HASHICORP_VAULT_URL
    See Also:
      - Constant Field Values

  - ### SECRETS_HASHICORP_VAULT_TOKEN

    public static final String SECRETS_HASHICORP_VAULT_TOKEN
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### DataSourceOptions

    public DataSourceOptions()

- ## Method Details

  - ### getUniqueKeySets

    public static Map<String,Set<Set<String>>> getUniqueKeySets(Properties options)
    Returns the parsed value of the `UNIQUE_KEY_SETS` option. Takes String of unique keys, grouped by parentheses, delimited by commas and a returns a Map from each referenced table to the set of key sets. Uses default function that splits table and column on last dot. e.g.:

         ("Table1"."Column1"), ("Table1"."Column3", "Table1"."Column4"), (mongocol.[unwind1;unwind2].unwind1.field1)

    is parsed to:

         {""Table1"" : [[""Column1""], [""Column3"", ""Column4""]]},
         {"mongocol.[unwind1;unwind2]" : [["unwind1.field1"]]}

  - ### getUniqueKeySets

    public static Map<String,Set<Set<String>>> getUniqueKeySets(Properties options, Function<String,Pair<String,String>> splitTableColumn)
    Parses the `UNIQUE_KEY_SETS` option using the provided `Function` to split a table and column string into a Pair. See: `getUniqueKeySets(Properties)`

  - ### getBatchSize

    public static int getBatchSize(Properties options)