Bug 568167: [RJ-Data] Change hierarchy of factor stores (RFactorStore
no longer extends RIntegerStore) fixing nullable definition of
RStore#getChar
Follow-up-to: d3633e3402e37b80b615fb2aadbf93b1d3a8dae2
Change-Id: I78375a313a3db909af79b27f36512dcdff66b028
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RCharacterStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RCharacterStore.java
index f49c2ab..767c025 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RCharacterStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RCharacterStore.java
@@ -29,6 +29,12 @@
@Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
+ @Override
@Nullable String get(int idx);
@Override
@Nullable String get(long idx);
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RComplexStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RComplexStore.java
index 9cafec5..e65c4f9 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RComplexStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RComplexStore.java
@@ -88,6 +88,13 @@
boolean isNaN(int idx);
boolean isNaN(long idx);
+
+ @Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
@Override
@Nullable Complex get(int idx);
@Override
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RFactorStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RFactorStore.java
index 57b1b8b..021ce2c 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RFactorStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RFactorStore.java
@@ -25,7 +25,7 @@
* <code>class(object)</code> returns 'factor'.</p>
*/
@NonNullByDefault
-public interface RFactorStore extends RIntegerStore {
+public interface RFactorStore extends RStore<Integer> {
int MIN_INT= 0x00000001;
@@ -58,6 +58,14 @@
RCharacterStore toCharacterData();
+ @Override
+ @Nullable Integer get(int idx);
+ @Override
+ @Nullable Integer get(long idx);
+
+ @Override
+ @Nullable Integer [] toArray();
+
// void addLevel(final String label);
// void renameLevel(final String oldLabel, final String newLabel);
// void insertLevel(final int position, final String label);
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RIntegerStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RIntegerStore.java
index 3dbe6dd..ba0526b 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RIntegerStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RIntegerStore.java
@@ -33,6 +33,12 @@
@Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
+ @Override
@Nullable Integer get(int idx);
@Override
@Nullable Integer get(long idx);
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RLogicalStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RLogicalStore.java
index 1f8d725..6c7d54b 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RLogicalStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RLogicalStore.java
@@ -39,6 +39,12 @@
@Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
+ @Override
@Nullable Boolean get(int idx);
@Override
@Nullable Boolean get(long idx);
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RNumericStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RNumericStore.java
index 660a57b..fc4e185 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RNumericStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RNumericStore.java
@@ -31,6 +31,13 @@
boolean isNaN(int idx);
boolean isNaN(long idx);
+
+ @Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
@Override
@Nullable Double get(int idx);
@Override
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RRawStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RRawStore.java
index 2441afe..fe269fe 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RRawStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RRawStore.java
@@ -38,6 +38,12 @@
byte[] toRawArray();
@Override
+ String getChar(final int idx);
+ @Override
+ String getChar(final long idx);
+
+
+ @Override
Byte get(int idx);
@Override
Byte get(long idx);
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RStore.java
index 4a41c9a..5509add 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/RStore.java
@@ -43,7 +43,7 @@
* Because Java doesn't provide NA for primitive data types directly,
* the data store provides the methods {@link #isNA(int)} and {@link #setNA(int)}
* to detect and set such values.
- * If the value at an index of the store is NA, the return value of the other getter
+ * If the value at an index of the store is NA, the return value of the typed getter
* methods is undefined.</p>
* <p>
* Indexes are zero-based (as usual in Java) and not one-base like in R.</p>
@@ -520,7 +520,7 @@
* @throws IndexOutOfBoundsException if the index is out of range
* (idx < 0 || idx >= length()).
*/
- String getChar(int idx);
+ @Nullable String getChar(int idx);
/**
* Returns the character value at the specified index.
@@ -533,7 +533,7 @@
* @throws IndexOutOfBoundsException if the index is out of range
* (idx < 0 || idx >= length()).
*/
- String getChar(long idx);
+ @Nullable String getChar(long idx);
/**
* Sets the character/String value at the specified index.