APIdia Launch Partner
Top Fields Constructors Methods
net.ucanaccess.converters

public Class Persist2Jet

extends Object
Class Inheritance
Static Imports
net.ucanaccess.type.SqlConstants.*

Field Summary

Modifier and TypeField and Description
private static final Map<File, Map<String, List<String>>>
COL_NAMES_CACHE

Cache of columns names per table name and database file.

private static final String
private static final String
private static final String
private static final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addColumn(String tableName, String columnName, Map<String, String> columnMap, String[] types, String[] defaults, Boolean[] notNulls)

private void
private void
public void
convertRowTypes(Object[]
the array of values to be converted, modified in place
values
,
Table
the target Access Table
t
)

Converts HSQLDB-specific data types to types compatible with the Jackcess persistence layer.

public void
createForeignKey(String tableName, String referencedTable)

public void
createForeignKey(String tableName, String referencedTable, String relationshipName)

private void
createForeignKey(String tn4Hsqldb, String refTn4Hsqldb, String tn4Access, String refTn4Access, String relationshipName)

public void
public void
createIndex(String tableName, String indexName)

public void
public void
createTable(String tableName, Map<String, String> columnMap, String[] types, String[] defaults, Boolean[] notNulls)

public void
dropForeignKey(String relationshipName)

public void
dropTable(String tableName)

private String
private String
private Map<String, Object>
private ColumnBuilder
getColumn(ResultSet rs, int seq, Map<String, String> columnMap, String[] types)

private ColumnBuilder
getColumn(String tableName, Map<String, String> columnMap, String[] types)

private List<String>
private Collection<ColumnBuilder>
getColumns(String tableName, Map<String, String> columnMap, String[] types)

public List<String>
private IndexBuilder
getIndexBuilderPK(String tableName, Map<String, String> columnMap)

private List<IndexBuilder>
getIndexBuilders(String tableName, Map<String, String> columnMap)

private String
public Map<String, Object>
private String
getUcaMetadataTypeName(int colIdx, ColumnBuilder cb, String[] types)

public Object[]
getValues(Map<String, Object> rowPattern)

public void
renameTable(String oldTableName, String newTableName)

private void
saveColumnsDefaults(String[] defaults, Boolean[] required, Column cl, int j)

private void
saveColumnsDefaults(String[] defaults, Boolean[] required, Table table)

private void
setHsqldbNotNull(String tableName, String columnName, Column cl)

private void
updateNewColumnToDefault(String tableName, String columnName, Table t, Column col)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

COL_NAMES_CACHEback to summary
private static final Map<File, Map<String, List<String>>> COL_NAMES_CACHE

Cache of columns names per table name and database file.

COL_OBJECT_IDback to summary
private static final String COL_OBJECT_ID
COL_SZ_OBJECTback to summary
private static final String COL_SZ_OBJECT
COL_SZ_REFERENCED_OBJECTback to summary
private static final String COL_SZ_REFERENCED_OBJECT
SYS_RELATIONSHIPSback to summary
private static final String SYS_RELATIONSHIPS

Constructor Detail

Persist2Jetback to summary
public Persist2Jet()

Method Detail

addColumnback to summary
public void addColumn(String tableName, String columnName, Map<String, String> columnMap, String[] types, String[] defaults, Boolean[] notNulls) throws IOException, SQLException
addIndexBuildersSimpleback to summary
private void addIndexBuildersSimple(String tableName, Map<String, String> columnMap, List<IndexBuilder> arcl) throws SQLException
checkPKback to summary
private void checkPK(List<IndexBuilder> arcl, IndexBuilder ibpk)
convertRowTypesback to summary
public void convertRowTypes(Object[] values, Table t) throws SQLException

Converts HSQLDB-specific data types to types compatible with the Jackcess persistence layer.

This method iterates through all columns of a table and transforms values (e.g., TimestampData, BlobData) into their corresponding Java types (e.g., LocalDateTime, byte[]).

Parameters
values:Object[]

the array of values to be converted, modified in place

t:Table

the target Access Table

Exceptions
SQLException:
if a type conversion fails or a value is out of range
createForeignKeyback to summary
public void createForeignKey(String tableName, String referencedTable) throws IOException, SQLException
createForeignKeyback to summary
public void createForeignKey(String tableName, String referencedTable, String relationshipName) throws IOException, SQLException
createForeignKeyback to summary
private void createForeignKey(String tn4Hsqldb, String refTn4Hsqldb, String tn4Access, String refTn4Access, String relationshipName) throws IOException, SQLException
createForeignKeysback to summary
public void createForeignKeys(String tableName) throws IOException, SQLException
createIndexback to summary
public void createIndex(String tableName, String indexName) throws IOException, SQLException
createPrimaryKeyback to summary
public void createPrimaryKey(String tableName) throws IOException, SQLException
createTableback to summary
public void createTable(String tableName, Map<String, String> columnMap, String[] types, String[] defaults, Boolean[] notNulls) throws IOException, SQLException
Annotations
@SuppressWarnings:java:S2077
dropForeignKeyback to summary
public void dropForeignKey(String relationshipName) throws IOException
dropTableback to summary
public void dropTable(String tableName) throws IOException, SQLException
escape4Accessback to summary
private String escape4Access(String tn)
escape4Hsqldbback to summary
private String escape4Hsqldb(String tn)
escapeIdentifiersback to summary
private Map<String, Object> escapeIdentifiers(Map<String, Object> map, Table t)
getColumnback to summary
private ColumnBuilder getColumn(ResultSet rs, int seq, Map<String, String> columnMap, String[] types) throws SQLException, IOException
getColumnback to summary
private ColumnBuilder getColumn(String tableName, Map<String, String> columnMap, String[] types) throws SQLException, IOException
getColumnNamesCreateback to summary
private List<String> getColumnNamesCreate(String ntn) throws SQLException
getColumnsback to summary
private Collection<ColumnBuilder> getColumns(String tableName, Map<String, String> columnMap, String[] types) throws SQLException, IOException
getCreateColumnNamesCacheback to summary
public List<String> getCreateColumnNamesCache(String tableName) throws SQLException
getIndexBuilderPKback to summary
private IndexBuilder getIndexBuilderPK(String tableName, Map<String, String> columnMap) throws SQLException
getIndexBuildersback to summary
private List<IndexBuilder> getIndexBuilders(String tableName, Map<String, String> columnMap) throws SQLException
getNormalizedNameback to summary
private String getNormalizedName(String name, Map<String, String> columnMap)
getRowPatternback to summary
public Map<String, Object> getRowPattern(Object[] varr, Table t) throws SQLException
getUcaMetadataTypeNameback to summary
private String getUcaMetadataTypeName(int colIdx, ColumnBuilder cb, String[] types)
getValuesback to summary
public Object[] getValues(Map<String, Object> rowPattern)
renameTableback to summary
public void renameTable(String oldTableName, String newTableName) throws IOException, SQLException
saveColumnsDefaultsback to summary
private void saveColumnsDefaults(String[] defaults, Boolean[] required, Column cl, int j) throws IOException
saveColumnsDefaultsback to summary
private void saveColumnsDefaults(String[] defaults, Boolean[] required, Table table) throws IOException
setHsqldbNotNullback to summary
private void setHsqldbNotNull(String tableName, String columnName, Column cl) throws SQLException, IOException
updateNewColumnToDefaultback to summary
private void updateNewColumnToDefault(String tableName, String columnName, Table t, Column col) throws SQLException, IOException