Package org.apache.cayenne.access
Class DataNode
java.lang.Object
org.apache.cayenne.access.DataNode
- All Implemented Interfaces:
QueryEngine
public class DataNode extends Object implements QueryEngine
An abstraction of a single physical data storage. This is usually a database
server, but can potentially be some other storage type like an LDAP server,
etc.
-
Field Summary
Fields Modifier and Type Field Description protected DbAdapter
adapter
protected Map<String,DataMap>
dataMaps
protected DataSource
dataSource
protected String
dataSourceFactory
protected String
dataSourceLocation
protected EntityResolver
entityResolver
protected String
name
protected SchemaUpdateStrategy
schemaUpdateStrategy
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description void
addDataMap(DataMap map)
Adds a DataMap to be handled by this node.BatchTranslator
batchTranslator(BatchQuery query, String trimFunction)
DbAdapter
getAdapter()
Returns DbAdapter object.BatchTranslatorFactory
getBatchTranslatorFactory()
DataMap
getDataMap(String name)
Returns datamap with specified name, null if none presentCollection<DataMap>
getDataMaps()
Returns an unmodifiable collection of DataMaps handled by this DataNode.DataSource
getDataSource()
Returns DataSource used by this DataNode to obtain connections.String
getDataSourceFactory()
Returns a name of DataSourceFactory class for this node.EntityResolver
getEntityResolver()
Returns EntityResolver that handles DataMaps of this node.JdbcEventLogger
getJdbcEventLogger()
String
getName()
Returns node name.RowReaderFactory
getRowReaderFactory()
SchemaUpdateStrategy
getSchemaUpdateStrategy()
SelectTranslatorFactory
getSelectTranslatorFactory()
SQLTemplateProcessor
getSqlTemplateProcessor()
DataNode
lookupDataNode(DataMap dataMap)
Returns a DataNode that should handle queries for all DataMap components.void
performQueries(Collection<? extends Query> queries, OperationObserver callback)
Runs queries using Connection obtained from internal DataSource.void
removeDataMap(String mapName)
void
removeDataMap(DataMap map)
RowReader<?>
rowReader(RowDescriptor descriptor, QueryMetadata queryMetadata)
Creates aRowReader
using internalRowReaderFactory
.RowReader<?>
rowReader(RowDescriptor descriptor, QueryMetadata queryMetadata, Map<ObjAttribute,ColumnDescriptor> attributeOverrides)
Creates aRowReader
using internalRowReaderFactory
.SelectTranslator
selectTranslator(SelectQuery<?> query)
void
setAdapter(DbAdapter adapter)
void
setBatchTranslatorFactory(BatchTranslatorFactory batchTranslatorFactory)
void
setDataMaps(Collection<DataMap> dataMaps)
void
setDataSource(DataSource dataSource)
void
setDataSourceFactory(String dataSourceFactory)
void
setEntityResolver(EntityResolver entityResolver)
Sets EntityResolver.void
setJdbcEventLogger(JdbcEventLogger logger)
void
setName(String name)
void
setRowReaderFactory(RowReaderFactory rowReaderFactory)
void
setSchemaUpdateStrategy(SchemaUpdateStrategy schemaUpdateStrategy)
void
setSelectTranslatorFactory(SelectTranslatorFactory selectTranslatorFactory)
void
setSqlTemplateProcessor(SQLTemplateProcessor sqlTemplateProcessor)
String
toString()
-
Field Details
-
name
-
dataSource
-
adapter
-
dataSourceLocation
-
dataSourceFactory
-
entityResolver
-
schemaUpdateStrategy
-
dataMaps
-
-
Constructor Details
-
DataNode
public DataNode()Creates a new unnamed DataNode. -
DataNode
Creates a new DataNode, assigning it a name.
-
-
Method Details
-
getSchemaUpdateStrategy
- Since:
- 3.0
-
setSchemaUpdateStrategy
- Since:
- 3.0
-
getJdbcEventLogger
- Since:
- 3.1
-
setJdbcEventLogger
- Since:
- 3.1
-
getName
Returns node name. Name is used to uniquely identify DataNode within a DataDomain. -
setName
-
getDataSourceFactory
Returns a name of DataSourceFactory class for this node. -
setDataSourceFactory
-
getDataMaps
Returns an unmodifiable collection of DataMaps handled by this DataNode. -
getDataMap
Returns datamap with specified name, null if none present -
setDataMaps
-
addDataMap
Adds a DataMap to be handled by this node. -
removeDataMap
-
removeDataMap
-
getDataSource
Returns DataSource used by this DataNode to obtain connections. -
setDataSource
-
getAdapter
Returns DbAdapter object. This is a plugin that handles RDBMS vendor-specific features. -
setAdapter
-
lookupDataNode
Returns a DataNode that should handle queries for all DataMap components.- Since:
- 1.1
-
performQueries
Runs queries using Connection obtained from internal DataSource.- Specified by:
performQueries
in interfaceQueryEngine
- Since:
- 1.1
-
getEntityResolver
Returns EntityResolver that handles DataMaps of this node.- Specified by:
getEntityResolver
in interfaceQueryEngine
-
setEntityResolver
Sets EntityResolver. DataNode relies on externally set EntityResolver, so if the node is created outside of DataDomain stack, a valid EntityResolver must be provided explicitly.- Since:
- 1.1
-
toString
-
rowReader
Creates aRowReader
using internalRowReaderFactory
.- Since:
- 4.0
-
rowReader
public RowReader<?> rowReader(RowDescriptor descriptor, QueryMetadata queryMetadata, Map<ObjAttribute,ColumnDescriptor> attributeOverrides)Creates aRowReader
using internalRowReaderFactory
.- Since:
- 4.0
-
batchTranslator
- Since:
- 4.0
-
selectTranslator
- Since:
- 4.0
-
getRowReaderFactory
- Since:
- 4.0
-
setRowReaderFactory
- Since:
- 4.0
-
getBatchTranslatorFactory
- Since:
- 4.0
-
setBatchTranslatorFactory
- Since:
- 4.0
-
getSqlTemplateProcessor
- Since:
- 4.0
-
setSqlTemplateProcessor
- Since:
- 4.0
-
getSelectTranslatorFactory
- Since:
- 4.0
-
setSelectTranslatorFactory
- Since:
- 4.0
-