Package org.datanucleus.store.rdbms.sql
Class AbstractSelectStatementGenerator
java.lang.Object
org.datanucleus.store.rdbms.sql.AbstractSelectStatementGenerator
- All Implemented Interfaces:
SelectStatementGenerator
- Direct Known Subclasses:
DiscriminatorStatementGenerator
,UnionStatementGenerator
public abstract class AbstractSelectStatementGenerator
extends Object
implements SelectStatementGenerator
Abstract generator of SQLStatements.
Based around a candidate(s) and optionally including subclasses.
If the candidate type has no table of its own (using "subclass-table") and there isn't a single
subclass with its own table then throws a NucleusException since there is no root table to select.
Accepts options controlling the generation of the SQL.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DatastoreClass
Table where the candidate objects are stored.protected DatastoreIdentifier
Alias for the candidate table in the SQL statement.protected String
Name of the table-group to use for the candidate(s) (optional, see SQLStatement).protected Class
Candidate type to query.protected final org.datanucleus.ClassLoaderResolver
ClassLoader resolver.protected final boolean
Whether to include iteration through subclasses of the candidate.(package private) JavaTypeMapping
Mapping in join table to join to the element.(package private) Table
Join table for the case where we are selecting the join table and returning elements.(package private) DatastoreIdentifier
Identifier for any join table (optional).Selected options controlling the generation of the SQL statement.protected SQLStatement
Parent statement.protected final RDBMSStoreManager
Manager for the datastore.Fields inherited from interface org.datanucleus.store.rdbms.sql.SelectStatementGenerator
OPTION_ALLOW_NULLS, OPTION_DONT_RESTRICT_DISCRIM, OPTION_INCLUDE_SOFT_DELETES, OPTION_RESTRICT_DISCRIM, OPTION_SELECT_DN_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractSelectStatementGenerator
(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr, Class candidateType, boolean subclasses, DatastoreIdentifier candidateTableAlias, String candidateTableGroupName) Constructor for the case where we select the candidate table.AbstractSelectStatementGenerator
(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr, Class candidateType, boolean subclasses, DatastoreIdentifier candidateTableAlias, String candidateTableGroupName, Table joinTable, DatastoreIdentifier joinTableAlias, JavaTypeMapping joinElementMapping) Constructor for the case where we select the join table and join to the candidate table. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Whether the generator has a particular option set.Method to set a property.unsetOption
(String name) Method to unset a property.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.datanucleus.store.rdbms.sql.SelectStatementGenerator
getStatement, setParentStatement
-
Field Details
-
storeMgr
Manager for the datastore. -
clr
protected final org.datanucleus.ClassLoaderResolver clrClassLoader resolver. -
parentStmt
Parent statement. -
candidateType
Candidate type to query. -
includeSubclasses
protected final boolean includeSubclassesWhether to include iteration through subclasses of the candidate. -
candidateTable
Table where the candidate objects are stored. -
candidateTableAlias
Alias for the candidate table in the SQL statement. -
candidateTableGroupName
Name of the table-group to use for the candidate(s) (optional, see SQLStatement). -
joinTable
Table joinTableJoin table for the case where we are selecting the join table and returning elements. -
joinTableAlias
DatastoreIdentifier joinTableAliasIdentifier for any join table (optional). -
joinElementMapping
JavaTypeMapping joinElementMappingMapping in join table to join to the element. -
options
Selected options controlling the generation of the SQL statement.
-
-
Constructor Details
-
AbstractSelectStatementGenerator
public AbstractSelectStatementGenerator(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr, Class candidateType, boolean subclasses, DatastoreIdentifier candidateTableAlias, String candidateTableGroupName) Constructor for the case where we select the candidate table.- Parameters:
storeMgr
- Store Managerclr
- ClassLoader resolvercandidateType
- Candidate root typesubclasses
- Whether to include subclassescandidateTableAlias
- Alias for the candidate (optional)candidateTableGroupName
- Name of the table group for the candidate(s) (optional)
-
AbstractSelectStatementGenerator
public AbstractSelectStatementGenerator(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr, Class candidateType, boolean subclasses, DatastoreIdentifier candidateTableAlias, String candidateTableGroupName, Table joinTable, DatastoreIdentifier joinTableAlias, JavaTypeMapping joinElementMapping) Constructor for the case where we select the join table and join to the candidate table.- Parameters:
storeMgr
- Store Managerclr
- ClassLoader resolvercandidateType
- Candidate root typesubclasses
- Whether to include subclassescandidateTableAlias
- Alias for the candidate (optional)candidateTableGroupName
- Name of the table group for the candidate(s) (optional)joinTable
- Join tablejoinTableAlias
- Alias for the join tablejoinElementMapping
- Mapping to the candidate from the join table
-
-
Method Details
-
setOption
Description copied from interface:SelectStatementGenerator
Method to set a property.- Specified by:
setOption
in interfaceSelectStatementGenerator
- Parameters:
name
- Name of the property- Returns:
- This generator
-
unsetOption
Description copied from interface:SelectStatementGenerator
Method to unset a property.- Specified by:
unsetOption
in interfaceSelectStatementGenerator
- Parameters:
name
- Name of the property- Returns:
- This generator
-
hasOption
Description copied from interface:SelectStatementGenerator
Whether the generator has a particular option set.- Specified by:
hasOption
in interfaceSelectStatementGenerator
- Parameters:
name
- Name of the option- Returns:
- Whether it is set
-