Class ResourceDefinition

Object
ResourceDefinition

public final class ResourceDefinition extends Object
Definition of a resource (table, view or query) to include in a SQLStore.
Since:
1.1
  • Method Details

    • table

      public static ResourceDefinition table(String tablePattern)
      Creates a resource definition for a table or a view in any catalog and schema of the database. The table name can contain SQL wildcard characters: '_' matches any single character and '%' matches any sequence of characters.
      Parameters:
      table­Pattern - pattern (with '_' and '%' wildcards) of a table.
      Returns:
      resource definition for the named table.
    • table

      public static ResourceDefinition table(String catalog, String schemaPattern, String tablePattern)
      Creates a resource definition for a table or a view in the database. The table name can be any of the followings:
      • catalog​.schema­Pattern​.table­Pattern
      • schema­Pattern​.table­Pattern
      • table­Pattern
      The schema and table names (but not the catalog) can contain SQL wildcard characters: '_' matches any single character and '%' matches any sequence of characters.
      Parameters:
      catalog - name of a catalog as it is stored in the database, or null for any catalog.
      schema­Pattern - pattern (with '_' and '%' wildcards) of a schema, or null for any schema.
      table­Pattern - pattern (with '_' and '%' wildcards) of a table.
      Returns:
      resource definition for the named table.
    • query

      public static ResourceDefinition query(String name, String query)
      Creates a resource definition for a SQL query. Each column in the query should have a distinct name, using SQL AS keyword if needed. It is caller's responsibility to ensure that the given query is not subject to SQL injection vulnerability.
      Parameters:
      name - name of the resource.
      query - the SQL query to execute.
      Returns:
      resource definition for the given SQL query.
    • getName

      public GenericName getName()
      Returns the name of the table, view or query to access as a resource. There is small differences in the way it is used depending on whether the resource is a table or a query:
      • If the resource is a table or a view, then this is the fully qualified name (including catalog and schema) of the table or view to include in the store. It may contain LIKE wildcard characters, in which case all tables matching the pattern will be included.
      • If the resource is a query, then this is an arbitrary name to assign to the resource which will contain the query result.
      Returns:
      the name of the table, view or query.
    • getQuery

      public Optional<String> getQuery()
      Returns the SQL query to execute for the resource, or empty if the resource is a table or a view.
      Returns:
      the SQL query to execute for the resource.
    • equals

      public boolean equals(Object obj)
      Returns true if this definition is equal to the given object.
      Overrides:
      equals in class Object
      Parameters:
      obj - another object, or null.
      Returns:
      true if the other object is a resource definition equals to this one.
    • hashCode

      public int hashCode()
      Returns a hash code value for this resource definition.
      Overrides:
      hash­Code in class Object
      Returns:
      a hash code value.
    • toString

      public String toString()
      Returns a string representation of this resource definition.
      Overrides:
      to­String in class Object
      Returns:
      a string representation of this resource definition.