Package org.apache.sis.storage.sql
Class ResourceDefinition
java.lang.Object
org.apache.sis.storage.sql.ResourceDefinition
Definition of a resource (table, view or query) to include in a
SQLStore
.- Since:
- 1.1
- Version:
- 1.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.opengis.util.GenericName
The table name or the query name.(package private) final String
The SQL query to execute for the resource, ornull
if the resource is a table or view.private static org.opengis.util.NameSpace
The namespace for table names, created when first needed. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
ResourceDefinition
(org.opengis.util.GenericName name, String query) Creates a new definition. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returnstrue
if this definition is equal to the given object.org.opengis.util.GenericName
getName()
Returns the name of the table, view or query to access as a resource.getQuery()
Returns the SQL query to execute for the resource, or empty if the resource is a table or a view.int
hashCode()
Returns a hash code value for this resource definition.static ResourceDefinition
Creates a resource definition for a SQL query.static ResourceDefinition
Creates a resource definition for a table or a view in any catalog and schema of the database.static ResourceDefinition
Creates a resource definition for a table or a view in the database.toString()
Returns a string representation of this resource definition.(package private) static ResourceDefinition[]
Wraps the given table names and queries in an array of resource definitions.
-
Field Details
-
tableNS
private static volatile org.opengis.util.NameSpace tableNSThe namespace for table names, created when first needed. Used for specifying the name separator, which is'.'
. -
name
private final org.opengis.util.GenericName nameThe table name or the query name. This field has two meanings, depending on whetherquery
is null or not:- If
query
is null, then this is the fully qualified name (including catalog and schema) of the table to include in the store. It may containLIKE
wildcard characters, in which case all tables matching the pattern will be included. - If
query
is non-null, then this is an arbitrary name to assign to the resource which will contain the query result.
- See Also:
- If
-
query
The SQL query to execute for the resource, ornull
if the resource is a table or view.- See Also:
-
-
Constructor Details
-
ResourceDefinition
Creates a new definition.
-
-
Method Details
-
wrap
Wraps the given table names and queries in an array of resource definitions. -
table
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:
tablePattern
- pattern (with'_'
and'%'
wildcards) of a table.- Returns:
- resource definition for the named table.
-
table
Creates a resource definition for a table or a view in the database. The table name can be any of the followings:catalog.schemaPattern.tablePattern
schemaPattern.tablePattern
tablePattern
'_'
matches any single character and'%'
matches any sequence of characters.- Parameters:
catalog
- name of a catalog as it is stored in the database, ornull
for any catalog.schemaPattern
- pattern (with'_'
and'%'
wildcards) of a schema, ornull
for any schema.tablePattern
- pattern (with'_'
and'%'
wildcards) of a table.- Returns:
- resource definition for the named table.
-
query
Creates a resource definition for a SQL query. Each column in the query should have a distinct name, using SQLAS
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 org.opengis.util.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.
- 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
-
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
Returnstrue
if this definition is equal to the given object. -
hashCode
public int hashCode()Returns a hash code value for this resource definition. -
toString
Returns a string representation of this resource definition.
-