summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Ahlborn <jtahlborn@yahoo.com>2013-03-20 01:51:12 +0000
committerJames Ahlborn <jtahlborn@yahoo.com>2013-03-20 01:51:12 +0000
commit596d83898a3ba6cfcbcb80dde9431dea93e18be9 (patch)
tree5ce9eca9418adf3213b3b69f2c586f1d23ca8aa3
parent18c2b054fe90c8e69dfeea4b552548bf517c62e9 (diff)
downloadjackcess-596d83898a3ba6cfcbcb80dde9431dea93e18be9.tar.gz
jackcess-596d83898a3ba6cfcbcb80dde9431dea93e18be9.zip
util method for getting new RowId
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/branches/jackcess-2@698 f203690c-595d-4dc9-a70b-905162fa7fd2
-rw-r--r--src/java/com/healthmarketscience/jackcess/complex/ComplexColumnInfo.java3
-rw-r--r--src/java/com/healthmarketscience/jackcess/impl/TableImpl.java9
2 files changed, 11 insertions, 1 deletions
diff --git a/src/java/com/healthmarketscience/jackcess/complex/ComplexColumnInfo.java b/src/java/com/healthmarketscience/jackcess/complex/ComplexColumnInfo.java
index ae17510..3b9ab66 100644
--- a/src/java/com/healthmarketscience/jackcess/complex/ComplexColumnInfo.java
+++ b/src/java/com/healthmarketscience/jackcess/complex/ComplexColumnInfo.java
@@ -273,7 +273,8 @@ public abstract class ComplexColumnInfo<V extends ComplexValue>
protected ComplexValueIdImpl getValueId(Object[] row) {
int idVal = (Integer)getPrimaryKeyColumn().getRowValue(row);
- return new ComplexValueIdImpl(idVal, (RowId)row[row.length - 1]);
+ return new ComplexValueIdImpl(idVal,
+ ((TableImpl)_flatTable).getRowId(row));
}
protected Object[] asRow(Object[] row, V value) {
diff --git a/src/java/com/healthmarketscience/jackcess/impl/TableImpl.java b/src/java/com/healthmarketscience/jackcess/impl/TableImpl.java
index 919c17f..ae5a33a 100644
--- a/src/java/com/healthmarketscience/jackcess/impl/TableImpl.java
+++ b/src/java/com/healthmarketscience/jackcess/impl/TableImpl.java
@@ -1282,6 +1282,15 @@ public class TableImpl implements Table
}
/**
+ * @return the generated RowId added to a row of values created via {@link
+ * #asRowWithRowId}
+ * @usage _intermediate_method_
+ */
+ public RowId getRowId(Object[] row) {
+ return (RowId)row[_columns.size()];
+ }
+
+ /**
* Converts a map of columnName -> columnValue to an array of row values.
*/
private Object[] asRow(Map<String,?> rowMap, Object defaultValue,