Class ResourceDefinition
Object
ResourceDefinition
Definition of a resource (table, view or query) to include in a
SQLStore
.
Each ResourceDefinition
instance can specify a table or a group of tables
(based on name pattern) to view as FeatureSet
instances.
A ResourceDefinition
instance can also specify a query instead of a table.
ResourceDefinition
s are given to the SimpleFeatureStore
constructor,
which implies that the tables to use are known in advance (e.g., hard-coded).
If this is not the case, then the ResourceDefinition
s can be provided
later by overriding SQLStore.readResourceDefinitions(DataAccess)
instead.
- Since:
- 1.1
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ResourceDefinition
(GenericName name, String query) Creates a new description of a resource in a SQL database. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returnstrue
if this definition is equal to the given object.getName()
Returns the name pattern of the table, view or query to access as a resource.Returns the SQL query to execute for the resource, or empty if the resource is a table or a view.int
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.Returns a string representation of this resource definition.
-
Constructor Details
-
ResourceDefinition
Creates a new description of a resource in a SQL database. If thequery
argument is null, then thename
argument shall be the name pattern of a table or a view.- Parameters:
name
- table, view or query name pattern. May containLIKE
wildcard characters.- Since:
- 1.5
- See Also:
-
-
Method Details
-
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
Returns the name pattern 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 table or view name pattern, or an arbitrary query name.
- 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
-
equals
-
hashCode
-
toString
-