Bug 568202: [RJ-Data] Fix RRawStore.isNA and RRawStore.isMissing
Change-Id: I71b3654eef3dde2e72da841bb2ff4c363ce8861a
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/AbstractRawStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/AbstractRawStore.java
index f4be076..636da45 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/AbstractRawStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/AbstractRawStore.java
@@ -48,26 +48,6 @@
@Override
- public final boolean isNA(final int idx) {
- return false;
- }
-
- @Override
- public final boolean isNA(final long idx) {
- return false;
- }
-
- @Override
- public final boolean isMissing(final int idx) {
- return false;
- }
-
- @Override
- public final boolean isMissing(final long idx) {
- return false;
- }
-
- @Override
public int getInt(final int idx) {
return (getRaw(idx) & 0xff);
}
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRaw32Store.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRaw32Store.java
index f0f8f69..d41339d 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRaw32Store.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRaw32Store.java
@@ -96,6 +96,39 @@
@Override
+ public final boolean isNA(final int idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isNA(final long idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isMissing(final int idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isMissing(final long idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+
+ @Override
public byte getRaw(final int idx) {
return this.byteValues[idx];
}
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawFix64Store.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawFix64Store.java
index 4394e4d..492de46 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawFix64Store.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawFix64Store.java
@@ -78,6 +78,40 @@
return this.length;
}
+
+ @Override
+ public final boolean isNA(final int idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isNA(final long idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isMissing(final int idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean isMissing(final long idx) {
+ if (idx < 0 || idx >= this.length) {
+ throw new IndexOutOfBoundsException(Long.toString(idx));
+ }
+ return false;
+ }
+
+
@Override
public byte getRaw(final int idx) {
return this.byteValues[idx / SEGMENT_LENGTH][idx % SEGMENT_LENGTH];
diff --git a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawStructStore.java b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawStructStore.java
index 2b27699..b4fb941 100644
--- a/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawStructStore.java
+++ b/core/org.eclipse.statet.rj.data/src/org/eclipse/statet/rj/data/impl/RRawStructStore.java
@@ -35,6 +35,28 @@
return -1;
}
+
+ @Override
+ public boolean isNA(final int idx) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isNA(final long idx) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isMissing(final int idx) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isMissing(final long idx) {
+ throw new UnsupportedOperationException();
+ }
+
+
@Override
public Byte get(final int idx) {
throw new UnsupportedOperationException();