Package org.apache.metamodel.excel
Class ExcelDataContext
java.lang.Object
org.apache.metamodel.AbstractDataContext
org.apache.metamodel.QueryPostprocessDataContext
org.apache.metamodel.excel.ExcelDataContext
- All Implemented Interfaces:
org.apache.metamodel.convert.HasReadTypeConverters,org.apache.metamodel.DataContext,org.apache.metamodel.UpdateableDataContext
public final class ExcelDataContext
extends org.apache.metamodel.QueryPostprocessDataContext
implements org.apache.metamodel.UpdateableDataContext
DataContext implementation to use for Excel spreadsheets.
This DataContext supports both the "old" .xls format and the "new" .xlsx
format, and saves the user the trouble of figuring out which one to use,
simply by detecting it at runtime and delegating to the appropriate
implementation.-
Field Summary
Fields inherited from class org.apache.metamodel.QueryPostprocessDataContext
INFORMATION_SCHEMA_NAME, SYSTEM_PROPERTY_CREATE_DEFAULT_TABLE_ALIAS -
Constructor Summary
ConstructorsConstructorDescriptionExcelDataContext(File file) Constructs an Excel DataContext based on a file, with default configurationExcelDataContext(File file, ExcelConfiguration configuration) Constructs an Excel DataContext based on a resource and a custom configuration.ExcelDataContext(org.apache.metamodel.util.Resource resource, ExcelConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.metamodel.UpdateSummaryexecuteUpdate(org.apache.metamodel.UpdateScript update) Gets the Excel configuration used.protected org.apache.metamodel.schema.Schemaprotected Stringorg.apache.metamodel.util.ResourceGets the Excel resource being readprotected Class<? extends org.apache.metamodel.excel.SpreadsheetReaderDelegate>Convenient method for testing and inspecting internal state.org.apache.metamodel.data.DataSetmaterializeMainSchemaTable(org.apache.metamodel.schema.Table table, List<org.apache.metamodel.schema.Column> columns, int maxRows) protected voidprotected voidMethods inherited from class org.apache.metamodel.QueryPostprocessDataContext
addConverter, executeCountQuery, executePrimaryKeyLookupQuery, executeQuery, getDefaultSchemaName, getSchemaByNameInternal, getSchemaNamesInternal, isMainSchemaTable, isScalarFunctionMaterialized, materializeFromItem, materializeMainSchemaTable, materializeMainSchemaTable, materializeMainSchemaTableSelect, materializeTableMethods inherited from class org.apache.metamodel.AbstractDataContext
compileQuery, executeQuery, executeQuery, getColumnByQualifiedLabel, getDefaultSchema, getSchemaByName, getSchemaNames, getSchemas, getTableByQualifiedLabel, isQualifiedPathDelim, parseQuery, query, refreshSchemasMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.metamodel.DataContext
compileQuery, executeQuery, executeQuery, executeQuery, getColumnByQualifiedLabel, getDefaultSchema, getSchemaByName, getSchemaNames, getSchemas, getTableByQualifiedLabel, parseQuery, query, refreshSchemas
-
Constructor Details
-
ExcelDataContext
Constructs an Excel DataContext based on a file, with default configuration- Parameters:
file-
-
ExcelDataContext
Constructs an Excel DataContext based on a resource and a custom configuration. The file provided can be either existing or non-existing. In the case of non-existing files, a file will be automatically created when a CREATE TABLE update is executed on the DataContext.- Parameters:
file-configuration-
-
ExcelDataContext
public ExcelDataContext(org.apache.metamodel.util.Resource resource, ExcelConfiguration configuration)
-
-
Method Details
-
getConfiguration
Gets the Excel configuration used.- Returns:
- an excel configuration.
-
getResource
public org.apache.metamodel.util.Resource getResource()Gets the Excel resource being read- Returns:
-
getMainSchemaName
- Specified by:
getMainSchemaNamein classorg.apache.metamodel.QueryPostprocessDataContext- Throws:
org.apache.metamodel.MetaModelException
-
materializeMainSchemaTable
public org.apache.metamodel.data.DataSet materializeMainSchemaTable(org.apache.metamodel.schema.Table table, List<org.apache.metamodel.schema.Column> columns, int maxRows) - Specified by:
materializeMainSchemaTablein classorg.apache.metamodel.QueryPostprocessDataContext
-
getMainSchema
protected org.apache.metamodel.schema.Schema getMainSchema() throws org.apache.metamodel.MetaModelException- Specified by:
getMainSchemain classorg.apache.metamodel.QueryPostprocessDataContext- Throws:
org.apache.metamodel.MetaModelException
-
onSchemaCacheRefreshed
protected void onSchemaCacheRefreshed()- Overrides:
onSchemaCacheRefreshedin classorg.apache.metamodel.AbstractDataContext
-
getSpreadsheetReaderDelegateClass
protected Class<? extends org.apache.metamodel.excel.SpreadsheetReaderDelegate> getSpreadsheetReaderDelegateClass()Convenient method for testing and inspecting internal state.- Returns:
- the class of the spreadsheet reader delegate.
-
notifyTablesModified
protected void notifyTablesModified() -
executeUpdate
public org.apache.metamodel.UpdateSummary executeUpdate(org.apache.metamodel.UpdateScript update) - Specified by:
executeUpdatein interfaceorg.apache.metamodel.UpdateableDataContext
-