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();