You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2022/12/19 05:43:20 UTC

[datasketches-memory] branch IntegrateJava17_v2 updated: one half of the change of BaseState to Resource; for Java 8.

This is an automated email from the ASF dual-hosted git repository.

leerho pushed a commit to branch IntegrateJava17_v2
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git


The following commit(s) were added to refs/heads/IntegrateJava17_v2 by this push:
     new bebcbbb  one half of the change of BaseState to Resource; for Java 8.
bebcbbb is described below

commit bebcbbb0cedd5e435b3101f88a690735e88c51fd
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Sun Dec 18 21:43:07 2022 -0800

    one half of the change of BaseState to Resource; for Java 8.
---
 .../org/apache/datasketches/memory/BaseBuffer.java |   2 +-
 .../org/apache/datasketches/memory/Memory.java     |   6 +-
 .../memory/{BaseState.java => Resource.java}       |  14 +--
 .../apache/datasketches/memory/WritableBuffer.java |   2 +-
 .../apache/datasketches/memory/WritableMemory.java |   4 +-
 .../memory/internal/AllocateDirect.java            |   2 +-
 .../memory/internal/AllocateDirectMap.java         |   2 +-
 .../memory/internal/BaseBufferImpl.java            |   2 +-
 .../memory/internal/BaseWritableBufferImpl.java    |   4 +-
 .../memory/internal/BaseWritableMemoryImpl.java    |   8 +-
 .../memory/internal/CompareAndCopy.java            | 104 ++++++++++-----------
 .../apache/datasketches/memory/internal/Prim.java  |  16 ++--
 .../{BaseStateImpl.java => ResourceImpl.java}      |  34 +++----
 .../apache/datasketches/memory/internal/Util.java  |   6 +-
 .../datasketches/memory/internal/XxHash64.java     |  12 +--
 .../internal/AllocateDirectMapMemoryTest.java      |   4 +-
 .../memory/internal/AllocateDirectMemoryTest.java  |  10 +-
 .../AllocateDirectWritableMapMemoryTest.java       |  15 +--
 .../datasketches/memory/internal/Buffer2Test.java  |   2 +-
 .../datasketches/memory/internal/BufferTest.java   |   2 +-
 .../memory/internal/DruidIssue11544Test.java       |   2 +-
 .../internal/ExampleMemoryRequestServerTest.java   |   2 +-
 .../datasketches/memory/internal/LeafImplTest.java |  40 ++++----
 .../memory/internal/MemoryReadWriteSafetyTest.java |   2 +-
 .../datasketches/memory/internal/MemoryTest.java   |  10 +-
 .../internal/NativeWritableBufferImplTest.java     |  16 ++--
 .../internal/NativeWritableMemoryImplTest.java     |  14 +--
 .../{BaseStateTest.java => ResourceTest.java}      |  12 +--
 .../memory/internal/SpecificLeafTest.java          | 100 ++++++++++----------
 .../datasketches/memory/internal/UtilTest.java     |   4 +-
 .../memory/internal/WritableMemoryTest.java        |   2 +-
 .../datasketches/memory/internal/XxHash64Test.java |   4 +-
 32 files changed, 225 insertions(+), 234 deletions(-)

diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseBuffer.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseBuffer.java
index 4b856ee..ca47560 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseBuffer.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseBuffer.java
@@ -36,7 +36,7 @@ package org.apache.datasketches.memory;
  * </ul>
  * @author Lee Rhodes
  */
-public interface BaseBuffer extends BaseState {
+public interface BaseBuffer extends Resource {
 
   /**
    * Increments the current position by the given increment.
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java
index 9f674eb..90c53bd 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java
@@ -19,8 +19,8 @@
 
 package org.apache.datasketches.memory;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.apache.datasketches.memory.internal.Util.negativeCheck;
 
 import java.io.File;
@@ -38,7 +38,7 @@ import org.apache.datasketches.memory.internal.Prim;
  *
  * @author Lee Rhodes
  */
-public interface Memory extends BaseState {
+public interface Memory extends Resource {
 
   //BYTE BUFFER
 
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseState.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Resource.java
similarity index 95%
rename from datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseState.java
rename to datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Resource.java
index 2a6858f..1b56dc0 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/BaseState.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Resource.java
@@ -27,7 +27,7 @@ import java.nio.ByteOrder;
  *
  * @author Lee Rhodes
  */
-public interface BaseState {
+public interface Resource {
 
   /**
    * Currently used only for test, hold for possible future use
@@ -37,10 +37,10 @@ public interface BaseState {
   /**
    * Returns true if the given object is an instance of this class and has equal contents to
    * this object.
-   * @param that the given BaseState object
+   * @param that the given Resource object
    * @return true if the given object has equal contents to this object.
    */
-  default boolean equalTo(BaseState that) {
+  default boolean equalTo(Resource that) {
     if (that == null || this.getCapacity() != that.getCapacity()) return false;
     return equalTo(0, that, 0, that.getCapacity());
   }
@@ -50,12 +50,12 @@ public interface BaseState {
    * this object in the given range of bytes. This will also check two distinct ranges within the
    * same object for equals.
    * @param thisOffsetBytes the starting offset in bytes for this object.
-   * @param that the given BaseState object
-   * @param thatOffsetBytes the starting offset in bytes for the given BaseState object
+   * @param that the given Resource object
+   * @param thatOffsetBytes the starting offset in bytes for the given Resource object
    * @param lengthBytes the size of the range in bytes
-   * @return true if the given BaseState object has equal contents to this object in the given range of bytes.
+   * @return true if the given Resource object has equal contents to this object in the given range of bytes.
    */
-  boolean equalTo(long thisOffsetBytes, BaseState that, long thatOffsetBytes, long lengthBytes);
+  boolean equalTo(long thisOffsetBytes, Resource that, long thatOffsetBytes, long lengthBytes);
 
   /**
    * Gets the current Type ByteOrder.
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableBuffer.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
index bc5671e..c631637 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableMemory.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableMemory.java
index db987c4..3aee9cc 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableMemory.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/WritableMemory.java
@@ -19,8 +19,8 @@
 
 package org.apache.datasketches.memory;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.apache.datasketches.memory.internal.Util.negativeCheck;
 
 import java.io.File;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirect.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirect.java
index 833cd06..a70682d 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirect.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirect.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.reachabilityFence;
+import static org.apache.datasketches.memory.internal.ResourceImpl.reachabilityFence;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.unsafe;
 
 import java.util.logging.Logger;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirectMap.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirectMap.java
index 7c3758b..3d2aee6 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirectMap.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/AllocateDirectMap.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.reachabilityFence;
+import static org.apache.datasketches.memory.internal.ResourceImpl.reachabilityFence;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.unsafe;
 
 import java.io.File;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
index a8e7c07..ac886f4 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
@@ -40,7 +40,7 @@ import org.apache.datasketches.memory.ReadOnlyException;
  *
  * @author Lee Rhodes
  */
-public abstract class BaseBufferImpl extends BaseStateImpl implements BaseBuffer {
+public abstract class BaseBufferImpl extends ResourceImpl implements BaseBuffer {
   private long capacity;
   private long start = 0;
   private long pos = 0;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
index f9e7a0e..81eab18 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
@@ -285,8 +285,8 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
   @Override
   public final int compareTo(final long thisOffsetBytes, final long thisLengthBytes,
       final Buffer thatBuf, final long thatOffsetBytes, final long thatLengthBytes) {
-    return CompareAndCopy.compare((BaseStateImpl)this, thisOffsetBytes, thisLengthBytes,
-        (BaseStateImpl)thatBuf, thatOffsetBytes, thatLengthBytes);
+    return CompareAndCopy.compare((ResourceImpl)this, thisOffsetBytes, thisLengthBytes,
+        (ResourceImpl)thatBuf, thatOffsetBytes, thatLengthBytes);
   }
 
   /*
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
index 4ca49ca..ed5b092 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
@@ -52,7 +52,7 @@ import org.apache.datasketches.memory.WritableMemory;
  * Contains methods which are agnostic to the byte order.
  */
 @SuppressWarnings("restriction")
-public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements WritableMemory {
+public abstract class BaseWritableMemoryImpl extends ResourceImpl implements WritableMemory {
 
   //1KB of empty bytes for speedy clear()
   private final static byte[] EMPTY_BYTES;
@@ -296,14 +296,14 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
   @Override
   public final int compareTo(final long thisOffsetBytes, final long thisLengthBytes,
       final Memory thatMem, final long thatOffsetBytes, final long thatLengthBytes) {
-    return CompareAndCopy.compare((BaseStateImpl)this, thisOffsetBytes, thisLengthBytes,
-        (BaseStateImpl)thatMem, thatOffsetBytes, thatLengthBytes);
+    return CompareAndCopy.compare((ResourceImpl)this, thisOffsetBytes, thisLengthBytes,
+        (ResourceImpl)thatMem, thatOffsetBytes, thatLengthBytes);
   }
 
   @Override
   public final void copyTo(final long srcOffsetBytes, final WritableMemory destination,
       final long dstOffsetBytes, final long lengthBytes) {
-    CompareAndCopy.copy((BaseStateImpl)this, srcOffsetBytes, (BaseStateImpl)destination,
+    CompareAndCopy.copy((ResourceImpl)this, srcOffsetBytes, (ResourceImpl)destination,
         dstOffsetBytes, lengthBytes);
   }
 
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/CompareAndCopy.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/CompareAndCopy.java
index d22d1e7..90afd2c 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/CompareAndCopy.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/CompareAndCopy.java
@@ -19,13 +19,13 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.CHAR_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.DOUBLE_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.FLOAT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.INT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LONG_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.SHORT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.CHAR_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.DOUBLE_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.FLOAT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.INT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LONG_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.SHORT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.unsafe;
 import static org.apache.datasketches.memory.internal.Util.UNSAFE_COPY_THRESHOLD_BYTES;
 
@@ -38,16 +38,16 @@ final class CompareAndCopy {
   private CompareAndCopy() { }
 
   static int compare(
-      final BaseStateImpl state1, final long offsetBytes1, final long lengthBytes1,
-      final BaseStateImpl state2, final long offsetBytes2, final long lengthBytes2) {
-    state1.checkAlive();
-    checkBounds(offsetBytes1, lengthBytes1, state1.getCapacity());
-    state2.checkAlive();
-    checkBounds(offsetBytes2, lengthBytes2, state2.getCapacity());
-    final long cumOff1 = state1.getCumulativeOffset(offsetBytes1);
-    final long cumOff2 = state2.getCumulativeOffset(offsetBytes2);
-    final Object arr1 = state1.getUnsafeObject();
-    final Object arr2 = state2.getUnsafeObject();
+      final ResourceImpl r1, final long offsetBytes1, final long lengthBytes1,
+      final ResourceImpl r2, final long offsetBytes2, final long lengthBytes2) {
+    r1.checkAlive();
+    checkBounds(offsetBytes1, lengthBytes1, r1.getCapacity());
+    r2.checkAlive();
+    checkBounds(offsetBytes2, lengthBytes2, r2.getCapacity());
+    final long cumOff1 = r1.getCumulativeOffset(offsetBytes1);
+    final long cumOff2 = r2.getCumulativeOffset(offsetBytes2);
+    final Object arr1 = r1.getUnsafeObject();
+    final Object arr2 = r2.getUnsafeObject();
     if ((arr1 != arr2) || (cumOff1 != cumOff2)) {
       final long lenBytes = Math.min(lengthBytes1, lengthBytes2);
       for (long i = 0; i < lenBytes; i++) {
@@ -60,26 +60,26 @@ final class CompareAndCopy {
     return Long.compare(lengthBytes1, lengthBytes2);
   }
 
-  static boolean equals(final BaseStateImpl state1, final BaseStateImpl state2) {
-    final long cap1 = state1.getCapacity();
-    final long cap2 = state2.getCapacity();
-    return (cap1 == cap2) && equals(state1, 0, state2, 0, cap1);
+  static boolean equals(final ResourceImpl r1, final ResourceImpl r2) {
+    final long cap1 = r1.getCapacity();
+    final long cap2 = r2.getCapacity();
+    return (cap1 == cap2) && equals(r1, 0, r2, 0, cap1);
   }
 
   //Developer notes: this is subtly different from (compare == 0) in that this has an early
   // stop if the arrays and offsets are the same as there is only one length.  Also this can take
   // advantage of chunking with longs, while compare cannot.
   static boolean equals(
-      final BaseStateImpl state1, final long offsetBytes1,
-      final BaseStateImpl state2, final long offsetBytes2, long lengthBytes) {
-    state1.checkAlive();
-    checkBounds(offsetBytes1, lengthBytes, state1.getCapacity());
-    state2.checkAlive();
-    checkBounds(offsetBytes2, lengthBytes, state2.getCapacity());
-    long cumOff1 = state1.getCumulativeOffset(offsetBytes1);
-    long cumOff2 = state2.getCumulativeOffset(offsetBytes2);
-    final Object arr1 = state1.getUnsafeObject(); //could be null
-    final Object arr2 = state2.getUnsafeObject(); //could be null
+      final ResourceImpl r1, final long offsetBytes1,
+      final ResourceImpl r2, final long offsetBytes2, long lengthBytes) {
+    r1.checkAlive();
+    checkBounds(offsetBytes1, lengthBytes, r1.getCapacity());
+    r2.checkAlive();
+    checkBounds(offsetBytes2, lengthBytes, r2.getCapacity());
+    long cumOff1 = r1.getCumulativeOffset(offsetBytes1);
+    long cumOff2 = r2.getCumulativeOffset(offsetBytes2);
+    final Object arr1 = r1.getUnsafeObject(); //could be null
+    final Object arr2 = r2.getUnsafeObject(); //could be null
     if ((arr1 == arr2) && (cumOff1 == cumOff2)) { return true; }
 
     while (lengthBytes >= Long.BYTES) {
@@ -112,15 +112,15 @@ final class CompareAndCopy {
     return true;
   }
 
-  static void copy(final BaseStateImpl srcState, final long srcOffsetBytes,
-      final BaseStateImpl dstState, final long dstOffsetBytes, final long lengthBytes) {
-    srcState.checkAlive();
-    checkBounds(srcOffsetBytes, lengthBytes, srcState.getCapacity());
-    dstState.checkAlive();
-    checkBounds(dstOffsetBytes, lengthBytes, dstState.getCapacity());
-    final long srcAdd = srcState.getCumulativeOffset(srcOffsetBytes);
-    final long dstAdd = dstState.getCumulativeOffset(dstOffsetBytes);
-    copyMemory(srcState.getUnsafeObject(), srcAdd, dstState.getUnsafeObject(), dstAdd,
+  static void copy(final ResourceImpl srcR, final long srcOffsetBytes,
+      final ResourceImpl dstR, final long dstOffsetBytes, final long lengthBytes) {
+    srcR.checkAlive();
+    checkBounds(srcOffsetBytes, lengthBytes, srcR.getCapacity());
+    dstR.checkAlive();
+    checkBounds(dstOffsetBytes, lengthBytes, dstR.getCapacity());
+    final long srcAdd = srcR.getCumulativeOffset(srcOffsetBytes);
+    final long dstAdd = dstR.getCumulativeOffset(dstOffsetBytes);
+    copyMemory(srcR.getUnsafeObject(), srcAdd, dstR.getUnsafeObject(), dstAdd,
         lengthBytes);
   }
 
@@ -217,7 +217,7 @@ final class CompareAndCopy {
   private static void getCharArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final char[] dstArray, final int dstOffsetChars, final int lengthChars) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthChars; i++) {
       dstArray[dstOffsetChars + i] = Character.reverseBytes(
@@ -246,7 +246,7 @@ final class CompareAndCopy {
   private static void getDoubleArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final double[] dstArray, final int dstOffsetDoubles, final int lengthDoubles) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthDoubles; i++) {
       dstArray[dstOffsetDoubles + i] = Double.longBitsToDouble(Long.reverseBytes(
@@ -273,7 +273,7 @@ final class CompareAndCopy {
   private static void getFloatArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final float[] dstArray, final int dstOffsetFloats, final int lengthFloats) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthFloats; i++) {
       dstArray[dstOffsetFloats + i] = Float.intBitsToFloat(Integer.reverseBytes(
@@ -300,7 +300,7 @@ final class CompareAndCopy {
   private static void getIntArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final int[] dstArray, final int dstOffsetInts, final int lengthInts) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthInts; i++) {
       dstArray[dstOffsetInts + i] = Integer.reverseBytes(
@@ -327,7 +327,7 @@ final class CompareAndCopy {
   private static void getLongArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final long[] dstArray, final int dstOffsetLongs, final int lengthLongs) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthLongs; i++) {
       dstArray[dstOffsetLongs + i] = Long.reverseBytes(
@@ -354,7 +354,7 @@ final class CompareAndCopy {
   private static void getShortArrayChunk(final Object unsafeObj, final long cumOffsetBytes,
       final short[] dstArray, final int dstOffsetShorts, final int lengthShorts) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthShorts; i++) {
       dstArray[dstOffsetShorts + i] = Short.reverseBytes(
@@ -380,7 +380,7 @@ final class CompareAndCopy {
   private static void putCharArrayChunk(final char[] srcArray, final int srcOffsetChars,
       final int lengthChars, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthChars; i++) {
       unsafe.putChar(unsafeObj, cumOffsetBytes + (((long) i) << CHAR_SHIFT),
@@ -408,7 +408,7 @@ final class CompareAndCopy {
   private static void putDoubleArrayChunk(final double[] srcArray, final int srcOffsetDoubles,
       final int lengthDoubles, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthDoubles; i++) {
       unsafe.putLong(unsafeObj, cumOffsetBytes + (((long) i) << DOUBLE_SHIFT),
@@ -434,7 +434,7 @@ final class CompareAndCopy {
   private static void putFloatArrayChunk(final float[] srcArray, final int srcOffsetFloats,
       final int lengthFloats, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthFloats; i++) {
       unsafe.putInt(unsafeObj, cumOffsetBytes + (((long) i) << FLOAT_SHIFT),
@@ -460,7 +460,7 @@ final class CompareAndCopy {
   private static void putIntArrayChunk(final int[] srcArray, final int srcOffsetInts,
       final int lengthInts, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthInts; i++) {
       unsafe.putInt(unsafeObj, cumOffsetBytes + (((long) i) << INT_SHIFT),
@@ -486,7 +486,7 @@ final class CompareAndCopy {
   private static void putLongArrayChunk(final long[] srcArray, final int srcOffsetLongs,
       final int lengthLongs, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthLongs; i++) {
       unsafe.putLong(unsafeObj, cumOffsetBytes + (((long) i) << LONG_SHIFT),
@@ -512,7 +512,7 @@ final class CompareAndCopy {
   private static void putShortArrayChunk(final short[] srcArray, final int srcOffsetShorts,
       final int lengthShorts, final Object unsafeObj, final long cumOffsetBytes) {
     // JDK 9 adds native intrinsics for such bulk non-native ordered primitive memory copy.
-    // TODO-JDK9 use them when the library adds support for JDK 9
+    // use them when the library adds support for JDK 9
     // int-counted loop to avoid safepoint polls
     for (int i = 0; i < lengthShorts; i++) {
       unsafe.putShort(unsafeObj, cumOffsetBytes + (((long) i) << SHORT_SHIFT),
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Prim.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Prim.java
index ca8c2ff..fd972e2 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Prim.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Prim.java
@@ -19,14 +19,14 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.BOOLEAN_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.BYTE_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.CHAR_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.DOUBLE_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.FLOAT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.INT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LONG_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.SHORT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.BOOLEAN_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.BYTE_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.CHAR_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.DOUBLE_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.FLOAT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.INT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LONG_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.SHORT_SHIFT;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_BOOLEAN_BASE_OFFSET;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_BOOLEAN_INDEX_SCALE;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_BYTE_BASE_OFFSET;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
similarity index 93%
rename from datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java
rename to datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
index e71ef70..9bbd7fe 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
@@ -25,10 +25,10 @@ import static org.apache.datasketches.memory.internal.Util.characterPad;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 
-import org.apache.datasketches.memory.BaseState;
 import org.apache.datasketches.memory.BoundsException;
 import org.apache.datasketches.memory.MemoryRequestServer;
 import org.apache.datasketches.memory.ReadOnlyException;
+import org.apache.datasketches.memory.Resource;
 
 /**
  * Keeps key configuration state for MemoryImpl and BufferImpl plus some common static variables
@@ -37,7 +37,7 @@ import org.apache.datasketches.memory.ReadOnlyException;
  * @author Lee Rhodes
  */
 @SuppressWarnings("restriction")
-public abstract class BaseStateImpl implements BaseState {
+public abstract class ResourceImpl implements Resource {
   static final String JDK; //must be at least "1.8"
   static final int JDK_MAJOR; //8, 11, 17, etc
 
@@ -113,7 +113,7 @@ public abstract class BaseStateImpl implements BaseState {
    * This offset does not include the size of an object array header, if there is one.
    * @param capacityBytes the capacity of this object. Used by all methods when checking bounds.
    */
-  BaseStateImpl(final Object unsafeObj, final long nativeBaseOffset, final long regionOffset,
+  ResourceImpl(final Object unsafeObj, final long nativeBaseOffset, final long regionOffset,
       final long capacityBytes) {
     capacityBytes_ = capacityBytes;
     cumBaseOffset_ = regionOffset + (unsafeObj == null
@@ -180,23 +180,23 @@ public abstract class BaseStateImpl implements BaseState {
   /**
    * Returns a formatted hex string of an area of this object.
    * Used primarily for testing.
-   * @param state the BaseStateImpl
+   * @param resource the ResourceImpl
    * @param comment a descriptive header
    * @param offsetBytes offset bytes relative to the MemoryImpl start
    * @param lengthBytes number of bytes to convert to a hex string
    * @return a formatted hex string in a human readable array
    */
-  static final String toHex(final BaseStateImpl state, final String comment, final long offsetBytes,
+  static final String toHex(final ResourceImpl resource, final String comment, final long offsetBytes,
       final int lengthBytes, final boolean withData) {
-    final long capacity = state.getCapacity();
+    final long capacity = resource.getCapacity();
     checkBounds(offsetBytes, lengthBytes, capacity);
 
     final String theComment = (comment != null) ? comment : "";
     final String s1 = String.format("(..., %d, %d)", offsetBytes, lengthBytes);
-    final long hcode = state.hashCode() & 0XFFFFFFFFL;
+    final long hcode = resource.hashCode() & 0XFFFFFFFFL;
     final String call = ".toHexString" + s1 + ", hashCode: " + hcode;
 
-    final Object uObj = state.getUnsafeObject();
+    final Object uObj = resource.getUnsafeObject();
     final String uObjStr;
     final long uObjHeader;
     if (uObj == null) {
@@ -206,14 +206,14 @@ public abstract class BaseStateImpl implements BaseState {
       uObjStr =  uObj.getClass().getSimpleName() + ", " + (uObj.hashCode() & 0XFFFFFFFFL);
       uObjHeader = UnsafeUtil.getArrayBaseOffset(uObj.getClass());
     }
-    final ByteBuffer bb = state.getByteBuffer();
+    final ByteBuffer bb = resource.getByteBuffer();
     final String bbStr = bb == null ? "null"
             : bb.getClass().getSimpleName() + ", " + (bb.hashCode() & 0XFFFFFFFFL);
-    final MemoryRequestServer memReqSvr = state.getMemoryRequestServer();
+    final MemoryRequestServer memReqSvr = resource.getMemoryRequestServer();
     final String memReqStr = memReqSvr != null
         ? memReqSvr.getClass().getSimpleName() + ", " + (memReqSvr.hashCode() & 0XFFFFFFFFL)
         : "null";
-    final long cumBaseOffset = state.getCumulativeOffset(0);
+    final long cumBaseOffset = resource.getCumulativeOffset(0);
 
     final StringBuilder sb = new StringBuilder();
     sb.append(LS + "### DataSketches Memory Component SUMMARY ###").append(LS);
@@ -222,12 +222,12 @@ public abstract class BaseStateImpl implements BaseState {
     sb.append("UnsafeObj, hashCode : ").append(uObjStr).append(LS);
     sb.append("UnsafeObjHeader     : ").append(uObjHeader).append(LS);
     sb.append("ByteBuf, hashCode   : ").append(bbStr).append(LS);
-    sb.append("RegionOffset        : ").append(state.getRegionOffset(0)).append(LS);
+    sb.append("RegionOffset        : ").append(resource.getRegionOffset(0)).append(LS);
     sb.append("Capacity            : ").append(capacity).append(LS);
     sb.append("CumBaseOffset       : ").append(cumBaseOffset).append(LS);
     sb.append("MemReqSvr, hashCode : ").append(memReqStr).append(LS);
-    sb.append("Read Only           : ").append(state.isReadOnly()).append(LS);
-    sb.append("Type Byte Order     : ").append(state.getByteOrder().toString()).append(LS);
+    sb.append("Read Only           : ").append(resource.isReadOnly()).append(LS);
+    sb.append("Type Byte Order     : ").append(resource.getByteOrder().toString()).append(LS);
     sb.append("Native Byte Order   : ").append(NATIVE_BYTE_ORDER.toString()).append(LS);
     sb.append("JDK Runtime Version : ").append(JDK).append(LS);
     //Data detail
@@ -310,10 +310,10 @@ public abstract class BaseStateImpl implements BaseState {
   }
 
   @Override
-  public final boolean equalTo(final long thisOffsetBytes, final BaseState that,
+  public final boolean equalTo(final long thisOffsetBytes, final Resource that,
       final long thatOffsetBytes, final long lengthBytes) {
     if (that == null) { return false; }
-    return CompareAndCopy.equals(this, thisOffsetBytes, (BaseStateImpl) that, thatOffsetBytes, lengthBytes);
+    return CompareAndCopy.equals(this, thisOffsetBytes, (ResourceImpl) that, thatOffsetBytes, lengthBytes);
   }
 
   @Override
@@ -423,7 +423,7 @@ public abstract class BaseStateImpl implements BaseState {
   public final boolean isSameResource(final Object that) {
     checkAlive();
     if (that == null) { return false; }
-    final BaseStateImpl that1 = (BaseStateImpl) that;
+    final ResourceImpl that1 = (ResourceImpl) that;
     that1.checkAlive();
     if (this == that1) { return true; }
 
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Util.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Util.java
index 143cb44..2723077 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Util.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/Util.java
@@ -19,9 +19,9 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LS;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LS;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/XxHash64.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/XxHash64.java
index 46785f6..7a8e4fb 100644
--- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/XxHash64.java
+++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/XxHash64.java
@@ -19,12 +19,12 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.CHAR_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.DOUBLE_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.FLOAT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.INT_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LONG_SHIFT;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.SHORT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.CHAR_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.DOUBLE_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.FLOAT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.INT_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LONG_SHIFT;
+import static org.apache.datasketches.memory.internal.ResourceImpl.SHORT_SHIFT;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_BOOLEAN_BASE_OFFSET;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_BYTE_BASE_OFFSET;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_CHAR_BASE_OFFSET;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
index 2e09576..89690f3 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
@@ -23,8 +23,8 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LS;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LS;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.apache.datasketches.memory.internal.Util.getResourceFile;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
index 641dd5a..afb54dd 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
@@ -19,12 +19,12 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.fail;
 
-import org.apache.datasketches.memory.BaseState;
+import org.apache.datasketches.memory.Resource;
 import org.apache.datasketches.memory.DefaultMemoryRequestServer;
 import org.apache.datasketches.memory.MemoryRequestServer;
 import org.apache.datasketches.memory.WritableHandle;
@@ -44,12 +44,12 @@ public class AllocateDirectMemoryTest {
         assertEquals(wMem.getLong(i << 3), i);
       }
       //inside the TWR block the memory should be valid
-      ((BaseStateImpl)wMem).checkAlive();
+      ((ResourceImpl)wMem).checkAlive();
       //OK
     }
     //The TWR block has exited, so the memory should be invalid
     try {
-      ((BaseStateImpl)wMem).checkAlive();
+      ((ResourceImpl)wMem).checkAlive();
       fail();
     } catch (final RuntimeException e) {
       //OK
@@ -71,7 +71,7 @@ public class AllocateDirectMemoryTest {
       int longs2 = 64;
       int bytes2 = longs2 << 3;
       MemoryRequestServer memReqSvr;
-      if (BaseState.defaultMemReqSvr == null) {
+      if (Resource.defaultMemReqSvr == null) {
         memReqSvr = new DefaultMemoryRequestServer();
       } else {
         memReqSvr = origWmem.getMemoryRequestServer();
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
index 51cc4c7..6177742 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
@@ -24,9 +24,9 @@
 package org.apache.datasketches.memory.internal;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LS;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LS;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
 import static org.apache.datasketches.memory.internal.Util.getResourceFile;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
@@ -220,15 +220,6 @@ public class AllocateDirectWritableMapMemoryTest {
     } //end of scope call to Cleaner/Deallocator also will be redundant
   }
 
-//  @AfterClass
-//  public void checkDirectCounter() {
-//    long count =  BaseState.getCurrentDirectMemoryMapAllocations();
-//      if (count != 0) {
-//        println(""+count);
-//        fail();
-//      }
-//    }
-
   @Test
   public void printlnTest() {
     println("PRINTING: "+this.getClass().getName());
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
index f857210..a45537c 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
index 2424119..abb14e2 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 
 import java.nio.ByteBuffer;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
index 17a951a..a9cb08a 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
index 2324672..1332d2a 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertFalse;
 
 import java.nio.ByteOrder;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
index 71b184a..580ac28 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
@@ -64,7 +64,7 @@ public class LeafImplTest {
     try (WritableHandle wdh = WritableMemory.allocateDirect(cap, NATIVE_BYTE_ORDER, dummyMemReqSvr)) {
       WritableMemory memNO = wdh.getWritable();
       memNO.putShort(0, (short) 1);
-      assertNull(((BaseStateImpl)memNO).getUnsafeObject());
+      assertNull(((ResourceImpl)memNO).getUnsafeObject());
       assertTrue(memNO.isDirectResource());
       checkCombinations(memNO, off, cap, memNO.isDirectResource(), NATIVE_BYTE_ORDER, false, true);
     }
@@ -72,7 +72,7 @@ public class LeafImplTest {
     try (WritableHandle wdh = WritableMemory.allocateDirect(cap, NON_NATIVE_BYTE_ORDER, dummyMemReqSvr)) {
       WritableMemory memNNO = wdh.getWritable();
       memNNO.putShort(0, (short) 1);
-      assertNull(((BaseStateImpl)memNNO).getUnsafeObject());
+      assertNull(((ResourceImpl)memNNO).getUnsafeObject());
       assertTrue(memNNO.isDirectResource());
       checkCombinations(memNNO, off, cap, memNNO.isDirectResource(), NON_NATIVE_BYTE_ORDER, false, true);
     }
@@ -88,7 +88,7 @@ public class LeafImplTest {
     bb.putShort(0, (short) 1);
     WritableMemory mem = WritableMemory.writableWrap(bb, NATIVE_BYTE_ORDER, dummyMemReqSvr);
     assertEquals(bb.isDirect(), mem.isDirectResource());
-    assertNotNull(((BaseStateImpl)mem).getUnsafeObject());
+    assertNotNull(((ResourceImpl)mem).getUnsafeObject());
     checkCombinations(mem, off, cap, mem.isDirectResource(), mem.getByteOrder(), true, true);
 
     //BB off heap, native order, has ByteBuffer, has MemReqSvr
@@ -97,7 +97,7 @@ public class LeafImplTest {
     dbb.putShort(0, (short) 1);
     mem = WritableMemory.writableWrap(dbb, NATIVE_BYTE_ORDER, dummyMemReqSvr);
     assertEquals(dbb.isDirect(), mem.isDirectResource());
-    assertNull(((BaseStateImpl)mem).getUnsafeObject());
+    assertNull(((ResourceImpl)mem).getUnsafeObject());
     checkCombinations(mem, off, cap,  mem.isDirectResource(), mem.getByteOrder(), true, true);
 
     //BB on heap, non native order, has ByteBuffer, has MemReqSvr
@@ -106,7 +106,7 @@ public class LeafImplTest {
     bb.putShort(0, (short) 1);
     mem = WritableMemory.writableWrap(bb, NON_NATIVE_BYTE_ORDER, dummyMemReqSvr);
     assertEquals(bb.isDirect(), mem.isDirectResource());
-    assertNotNull(((BaseStateImpl)mem).getUnsafeObject());
+    assertNotNull(((ResourceImpl)mem).getUnsafeObject());
     checkCombinations(mem, off, cap, mem.isDirectResource(), mem.getByteOrder(), true, true);
 
     //BB off heap, non native order, has ByteBuffer, has MemReqSvr
@@ -115,7 +115,7 @@ public class LeafImplTest {
     dbb.putShort(0, (short) 1);
     mem = WritableMemory.writableWrap(dbb, NON_NATIVE_BYTE_ORDER, dummyMemReqSvr);
     assertEquals(dbb.isDirect(), mem.isDirectResource());
-    assertNull(((BaseStateImpl)mem).getUnsafeObject());
+    assertNull(((ResourceImpl)mem).getUnsafeObject());
     checkCombinations(mem, off, cap,  mem.isDirectResource(), mem.getByteOrder(), true, true);
   }
 
@@ -139,7 +139,7 @@ public class LeafImplTest {
     try (WritableMapHandle wmh = WritableMemory.writableMap(file, off, cap, NATIVE_BYTE_ORDER)) {
       WritableMemory memNO = wmh.getWritable();
       memNO.putShort(0, (short) 1);
-      assertNull(((BaseStateImpl)memNO).getUnsafeObject());
+      assertNull(((ResourceImpl)memNO).getUnsafeObject());
       assertTrue(memNO.isDirectResource());
       checkCombinations(memNO, off, cap, memNO.isDirectResource(), NATIVE_BYTE_ORDER, false, false);
     }
@@ -147,7 +147,7 @@ public class LeafImplTest {
     try (WritableMapHandle wmh = WritableMemory.writableMap(file, off, cap, NON_NATIVE_BYTE_ORDER)) {
       WritableMemory memNNO = wmh.getWritable();
       memNNO.putShort(0, (short) 1);
-      assertNull(((BaseStateImpl)memNNO).getUnsafeObject());
+      assertNull(((ResourceImpl)memNNO).getUnsafeObject());
       assertTrue(memNNO.isDirectResource());
       checkCombinations(memNNO, off, cap, memNNO.isDirectResource(), NON_NATIVE_BYTE_ORDER, false, false);
     }
@@ -160,13 +160,13 @@ public class LeafImplTest {
     // On Heap, Native order, No ByteBuffer, No MemReqSvr
     WritableMemory memNO = WritableMemory.allocate((int)cap); //assumes NATIVE_BYTE_ORDER
     memNO.putShort(0, (short) 1);
-    assertNotNull(((BaseStateImpl)memNO).getUnsafeObject());
+    assertNotNull(((ResourceImpl)memNO).getUnsafeObject());
     assertFalse(memNO.isDirectResource());
     checkCombinations(memNO, off, cap, memNO.isDirectResource(), NATIVE_BYTE_ORDER, false, false);
     // On Heap, Non-native order, No ByteBuffer, No MemReqSvr
     WritableMemory memNNO = WritableMemory.allocate((int)cap, NON_NATIVE_BYTE_ORDER);
     memNNO.putShort(0, (short) 1);
-    assertNotNull(((BaseStateImpl)memNNO).getUnsafeObject());
+    assertNotNull(((ResourceImpl)memNNO).getUnsafeObject());
     assertFalse(memNNO.isDirectResource());
     checkCombinations(memNNO, off, cap, memNNO.isDirectResource(), NON_NATIVE_BYTE_ORDER, false, false);
   }
@@ -181,14 +181,14 @@ public class LeafImplTest {
     assertEquals(mem.asWritableBuffer(bo).getShort(0), 1);
     assertEquals(mem.asWritableBuffer(oo).getShort(0), 256);
 
-    ByteBuffer bb = ((BaseStateImpl)mem).getByteBuffer();
+    ByteBuffer bb = ((ResourceImpl)mem).getByteBuffer();
     assertTrue( hasByteBuffer ? bb != null : bb == null);
 
     assertTrue(mem.getByteOrder() == bo);
 
     if (hasMemReqSvr) { assertTrue(mem.getMemoryRequestServer() instanceof DummyMemoryRequestServer); }
 
-    Object obj = ((BaseStateImpl)mem).getUnsafeObject();
+    Object obj = ((ResourceImpl)mem).getUnsafeObject();
     if (direct) {
       assertTrue(mem.isDirectResource());
       assertNull(obj);
@@ -206,14 +206,14 @@ public class LeafImplTest {
     assertEquals(buf.writableDuplicate(bo).getShort(0), 1);
     assertEquals(buf.writableDuplicate(oo).getShort(0), 256);
 
-    bb = ((BaseStateImpl)buf).getByteBuffer();
+    bb = ((ResourceImpl)buf).getByteBuffer();
     assertTrue(hasByteBuffer ? bb != null : bb == null);
 
     assertTrue(buf.getByteOrder() == bo);
 
     if (hasMemReqSvr) { assertTrue(buf.getMemoryRequestServer() instanceof DummyMemoryRequestServer); }
 
-    obj = ((BaseStateImpl)buf).getUnsafeObject();
+    obj = ((ResourceImpl)buf).getUnsafeObject();
     if (direct) {
       assertTrue(buf.isDirectResource());
       assertNull(obj);
@@ -231,14 +231,14 @@ public class LeafImplTest {
     assertEquals(nnMem.asWritableBuffer(bo).getShort(0), 1);
     assertEquals(nnMem.asWritableBuffer(oo).getShort(0), 256);
 
-    bb = ((BaseStateImpl)nnMem).getByteBuffer();
+    bb = ((ResourceImpl)nnMem).getByteBuffer();
     assertTrue( hasByteBuffer ? bb != null : bb == null);
 
     assertTrue(nnMem.getByteOrder() == oo);
 
     if (hasMemReqSvr) { assertTrue(nnMem.getMemoryRequestServer() instanceof DummyMemoryRequestServer); }
 
-    obj = ((BaseStateImpl)nnMem).getUnsafeObject();
+    obj = ((ResourceImpl)nnMem).getUnsafeObject();
     if (direct) {
       assertTrue(nnMem.isDirectResource());
       assertNull(obj);
@@ -256,14 +256,14 @@ public class LeafImplTest {
     assertEquals(nnBuf.writableDuplicate(bo).getShort(0), 1);
     assertEquals(nnBuf.writableDuplicate(oo).getShort(0), 256);
 
-    bb = ((BaseStateImpl)nnBuf).getByteBuffer();
+    bb = ((ResourceImpl)nnBuf).getByteBuffer();
     assertTrue( hasByteBuffer ? bb != null : bb == null);
 
     assertTrue(nnBuf.getByteOrder() == oo);
 
     if (hasMemReqSvr) { assertTrue(nnBuf.getMemoryRequestServer() instanceof DummyMemoryRequestServer); }
 
-    obj = ((BaseStateImpl)nnBuf).getUnsafeObject();
+    obj = ((ResourceImpl)nnBuf).getUnsafeObject();
     if (direct) {
       assertTrue(nnBuf.isDirectResource());
       assertNull(obj);
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
index a13a474..92a25f0 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 
 import java.io.File;
 import java.io.RandomAccessFile;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
index 147b31b..5139e81 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
@@ -23,9 +23,9 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LS;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LS;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
@@ -36,7 +36,7 @@ import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.util.List;
 
-import org.apache.datasketches.memory.BaseState;
+import org.apache.datasketches.memory.Resource;
 import org.apache.datasketches.memory.Memory;
 import org.apache.datasketches.memory.WritableBuffer;
 import org.apache.datasketches.memory.WritableHandle;
@@ -345,7 +345,7 @@ public class MemoryTest {
   public void checkMemReqSvr() throws Exception {
     WritableMemory wmem;
     WritableBuffer wbuf;
-    if (BaseState.defaultMemReqSvr == null) { //This is a policy choice
+    if (Resource.defaultMemReqSvr == null) { //This is a policy choice
       //ON HEAP
       wmem = WritableMemory.writableWrap(new byte[16]);
       assertNull(wmem.getMemoryRequestServer());
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
index d3c7e6d..06832d8 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
@@ -19,9 +19,9 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
@@ -258,7 +258,7 @@ public class NativeWritableBufferImplTest {
     }
 
     assertTrue(wbuf.isByteBufferResource());
-    ByteBuffer byteBuf2 = ((BaseStateImpl)wbuf).getByteBuffer();
+    ByteBuffer byteBuf2 = ((ResourceImpl)wbuf).getByteBuffer();
     assertEquals(byteBuf2, byteBuf);
     //println( mem.toHexString("HeapBB", 0, memCapacity));
   }
@@ -458,7 +458,7 @@ public class NativeWritableBufferImplTest {
     for (int i = 0; i < 64; i++) { wmem.putByte(i, (byte)i); }
 
     WritableBuffer wbuf = wmem.asWritableBuffer().writableDuplicate();
-    BaseStateImpl.checkBounds(0, 64, wbuf.getCapacity());
+    ResourceImpl.checkBounds(0, 64, wbuf.getCapacity());
     for (int i = 0; i < 64; i++) {
       assertEquals(wbuf.getByte(), i);
     }
@@ -472,7 +472,7 @@ public class NativeWritableBufferImplTest {
       assertEquals(wmem2.getByte(i), i);
     }
     WritableMemory wmem3 = wbuf.asWritableMemory();
-    BaseStateImpl.checkBounds(0, 64, wmem3.getCapacity());
+    ResourceImpl.checkBounds(0, 64, wmem3.getCapacity());
   }
 
   @Test
@@ -480,8 +480,8 @@ public class NativeWritableBufferImplTest {
     WritableMemory wmem = WritableMemory.allocate(64);
     WritableMemory reg = wmem.writableRegion(32, 32);
     WritableBuffer buf = reg.asWritableBuffer();
-    assertEquals(((BaseStateImpl)reg).getRegionOffset(0), 32);
-    assertEquals(((BaseStateImpl)buf).getCumulativeOffset(0), 32 + 16);
+    assertEquals(((ResourceImpl)reg).getRegionOffset(0), 32);
+    assertEquals(((ResourceImpl)buf).getCumulativeOffset(0), 32 + 16);
   }
 
   @Test
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
index ee61ce9..506094a 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
@@ -19,9 +19,9 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
@@ -453,7 +453,7 @@ public class NativeWritableMemoryImplTest {
     }
 
     assertTrue(wmem.isByteBufferResource());
-    ByteBuffer byteBuf2 = ((BaseStateImpl)wmem).getByteBuffer();
+    ByteBuffer byteBuf2 = ((ResourceImpl)wmem).getByteBuffer();
     assertEquals(byteBuf2, byteBuf);
     //println( mem.toHexString("HeapBB", 0, memCapacity));
   }
@@ -595,7 +595,7 @@ public class NativeWritableMemoryImplTest {
     assertEquals(comp, 0);
     comp = mem3.compareTo(0, 4, mem4, 1, 4);
     assertEquals(comp, -1);
-    BaseStateImpl.checkBounds(0, 5, mem3. getCapacity());
+    ResourceImpl.checkBounds(0, 5, mem3. getCapacity());
   }
 
   @Test
@@ -658,8 +658,8 @@ public class NativeWritableMemoryImplTest {
   public void checkCumAndRegionOffset() {
     WritableMemory wmem = WritableMemory.allocate(64);
     WritableMemory reg = wmem.writableRegion(32, 32);
-    assertEquals(((BaseStateImpl)reg).getRegionOffset(0), 32);
-    assertEquals(((BaseStateImpl)reg).getCumulativeOffset(0), 32 + 16);
+    assertEquals(((ResourceImpl)reg).getRegionOffset(0), 32);
+    assertEquals(((ResourceImpl)reg).getCumulativeOffset(0), 32 + 16);
   }
 
   @Test
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BaseStateTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ResourceTest.java
similarity index 92%
rename from datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BaseStateTest.java
rename to datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ResourceTest.java
index 130bc7d..564bbd9 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/BaseStateTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/ResourceTest.java
@@ -19,10 +19,10 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkJavaVersion;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.parseJavaVersion;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.typeDecode;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkJavaVersion;
+import static org.apache.datasketches.memory.internal.ResourceImpl.parseJavaVersion;
+import static org.apache.datasketches.memory.internal.ResourceImpl.typeDecode;
 import static org.apache.datasketches.memory.internal.UnsafeUtil.ARRAY_DOUBLE_INDEX_SCALE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
@@ -36,7 +36,7 @@ import org.apache.datasketches.memory.WritableMemory;
 import org.testng.annotations.Test;
 
 @SuppressWarnings("deprecation")
-public class BaseStateTest {
+public class ResourceTest {
 
   @Test
   public void checkJdkString() {
@@ -140,7 +140,7 @@ public class BaseStateTest {
   @Test
   public void checkGetNativeBaseOffset_Heap() throws Exception {
     WritableMemory wmem = WritableMemory.allocate(8); //heap
-    final long offset = ((BaseStateImpl)wmem).getNativeBaseOffset();
+    final long offset = ((ResourceImpl)wmem).getNativeBaseOffset();
     assertEquals(offset, 0L);
   }
 
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
index 575ba81..b1bf39e 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NON_NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NON_NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
@@ -48,11 +48,11 @@ public class SpecificLeafTest {
     bb.order(NATIVE_BYTE_ORDER);
 
     Memory mem = Memory.wrap(bb).region(0, bytes, NATIVE_BYTE_ORDER);
-    assertTrue(((BaseStateImpl)mem).isByteBufferResource());
+    assertTrue(((ResourceImpl)mem).isByteBufferResource());
     assertTrue(mem.isReadOnly());
-    assertTrue(((BaseStateImpl)mem).isMemoryApi());
-    assertFalse(((BaseStateImpl)mem).isDirectResource());
-    assertFalse(((BaseStateImpl)mem).isMemoryMappedFileResource());
+    assertTrue(((ResourceImpl)mem).isMemoryApi());
+    assertFalse(((ResourceImpl)mem).isDirectResource());
+    assertFalse(((ResourceImpl)mem).isMemoryMappedFileResource());
     checkCrossLeafTypeIds(mem);
     Buffer buf = mem.asBuffer().region(0, bytes, NATIVE_BYTE_ORDER);
     assertEquals(buf.getByteOrder(), NATIVE_BYTE_ORDER);
@@ -62,11 +62,11 @@ public class SpecificLeafTest {
     Buffer buf2 = mem2.asBuffer().region(0, bytes, NON_NATIVE_BYTE_ORDER);
     Buffer buf3 = buf2.duplicate();
 
-    assertTrue(((BaseStateImpl)mem).isRegionView());
-    assertTrue(((BaseStateImpl)mem2).isRegionView());
-    assertTrue(((BaseStateImpl)buf).isRegionView());
-    assertTrue(((BaseStateImpl)buf2).isRegionView());
-    assertTrue(((BaseStateImpl)buf3).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)mem).isRegionView());
+    assertTrue(((ResourceImpl)mem2).isRegionView());
+    assertTrue(((ResourceImpl)buf).isRegionView());
+    assertTrue(((ResourceImpl)buf2).isRegionView());
+    assertTrue(((ResourceImpl)buf3).isDuplicateBufferView());
   }
 
   @Test
@@ -74,7 +74,7 @@ public class SpecificLeafTest {
     int bytes = 128;
     try (WritableHandle h = WritableMemory.allocateDirect(bytes)) {
       WritableMemory wmem = h.getWritable(); //native mem
-      assertTrue(((BaseStateImpl)wmem).isDirectResource());
+      assertTrue(((ResourceImpl)wmem).isDirectResource());
       assertFalse(wmem.isReadOnly());
       checkCrossLeafTypeIds(wmem);
       WritableMemory nnwmem = wmem.writableRegion(0, bytes, NON_NATIVE_BYTE_ORDER);
@@ -87,12 +87,12 @@ public class SpecificLeafTest {
       Buffer buf2 = mem2.asBuffer().region(0, bytes, NON_NATIVE_BYTE_ORDER);
       Buffer buf3 = buf2.duplicate();
 
-      assertTrue(((BaseStateImpl)mem).isRegionView());
-      assertTrue(((BaseStateImpl)mem2).isRegionView());
-      assertTrue(((BaseStateImpl)buf).isRegionView());
-      assertTrue(((BaseStateImpl)buf2).isRegionView());
-      assertTrue(((BaseStateImpl)buf3).isDuplicateBufferView());
-      assertTrue(((BaseStateImpl)mem).isMemoryApi());
+      assertTrue(((ResourceImpl)mem).isRegionView());
+      assertTrue(((ResourceImpl)mem2).isRegionView());
+      assertTrue(((ResourceImpl)buf).isRegionView());
+      assertTrue(((ResourceImpl)buf2).isRegionView());
+      assertTrue(((ResourceImpl)buf3).isDuplicateBufferView());
+      assertTrue(((ResourceImpl)mem).isMemoryApi());
     }
   }
 
@@ -115,7 +115,7 @@ public class SpecificLeafTest {
 
     try (WritableMapHandle h = WritableMemory.writableMap(file, 0L, bytes, NATIVE_BYTE_ORDER)) {
       WritableMemory mem = h.getWritable(); //native mem
-      assertTrue(((BaseStateImpl)mem).isMemoryMappedFileResource());
+      assertTrue(((ResourceImpl)mem).isMemoryMappedFileResource());
       assertFalse(mem.isReadOnly());
       checkCrossLeafTypeIds(mem);
       Memory nnreg = mem.region(0, bytes, NON_NATIVE_BYTE_ORDER);
@@ -128,12 +128,12 @@ public class SpecificLeafTest {
       Buffer buf2 = reg2.asBuffer().region(0, bytes, NON_NATIVE_BYTE_ORDER);
       Buffer buf3 = buf2.duplicate();
 
-      assertTrue(((BaseStateImpl)reg).isRegionView());
-      assertTrue(((BaseStateImpl)reg2).isRegionView());
-      assertTrue(((BaseStateImpl)buf).isRegionView());
-      assertTrue(((BaseStateImpl)buf2).isRegionView());
-      assertTrue(((BaseStateImpl)buf3).isDuplicateBufferView());
-      assertTrue(((BaseStateImpl)buf4).isDuplicateBufferView());
+      assertTrue(((ResourceImpl)reg).isRegionView());
+      assertTrue(((ResourceImpl)reg2).isRegionView());
+      assertTrue(((ResourceImpl)buf).isRegionView());
+      assertTrue(((ResourceImpl)buf2).isRegionView());
+      assertTrue(((ResourceImpl)buf3).isDuplicateBufferView());
+      assertTrue(((ResourceImpl)buf4).isDuplicateBufferView());
     }
   }
 
@@ -141,8 +141,8 @@ public class SpecificLeafTest {
   public void checkHeapLeafs() {
     int bytes = 128;
     Memory mem = Memory.wrap(new byte[bytes]);
-    assertFalse(((BaseStateImpl)mem).isDirectResource());
-    assertTrue(((BaseStateImpl)mem).isReadOnly());
+    assertFalse(((ResourceImpl)mem).isDirectResource());
+    assertTrue(((ResourceImpl)mem).isReadOnly());
     checkCrossLeafTypeIds(mem);
     Memory nnreg = mem.region(0, bytes, NON_NATIVE_BYTE_ORDER);
 
@@ -154,47 +154,47 @@ public class SpecificLeafTest {
     Buffer buf2 = reg2.asBuffer().region(0, bytes, NON_NATIVE_BYTE_ORDER);
     Buffer buf3 = buf2.duplicate();
 
-    assertFalse(((BaseStateImpl)mem).isRegionView());
-    assertTrue(((BaseStateImpl)reg2).isRegionView());
-    assertTrue(((BaseStateImpl)buf).isRegionView());
-    assertTrue(((BaseStateImpl)buf2).isRegionView());
-    assertTrue(((BaseStateImpl)buf3).isDuplicateBufferView());
-    assertTrue(((BaseStateImpl)buf4).isDuplicateBufferView());
+    assertFalse(((ResourceImpl)mem).isRegionView());
+    assertTrue(((ResourceImpl)reg2).isRegionView());
+    assertTrue(((ResourceImpl)buf).isRegionView());
+    assertTrue(((ResourceImpl)buf2).isRegionView());
+    assertTrue(((ResourceImpl)buf3).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)buf4).isDuplicateBufferView());
   }
 
   private static void checkCrossLeafTypeIds(Memory mem) {
     Memory reg1 = mem.region(0, mem.getCapacity());
-    assertTrue(((BaseStateImpl)reg1).isRegionView());
+    assertTrue(((ResourceImpl)reg1).isRegionView());
 
     Buffer buf1 = reg1.asBuffer();
-    assertTrue(((BaseStateImpl)buf1).isRegionView());
-    assertFalse(((BaseStateImpl)buf1).isMemoryApi());
+    assertTrue(((ResourceImpl)buf1).isRegionView());
+    assertFalse(((ResourceImpl)buf1).isMemoryApi());
     assertTrue(buf1.isReadOnly());
 
     Buffer buf2 = buf1.duplicate();
-    assertTrue(((BaseStateImpl)buf2).isRegionView());
-    assertFalse(((BaseStateImpl)buf1).isMemoryApi());
-    assertTrue(((BaseStateImpl)buf2).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)buf2).isRegionView());
+    assertFalse(((ResourceImpl)buf1).isMemoryApi());
+    assertTrue(((ResourceImpl)buf2).isDuplicateBufferView());
     assertTrue(buf2.isReadOnly());
 
     Memory mem2 = buf1.asMemory(); //
-    assertTrue(((BaseStateImpl)mem2).isRegionView());
-    assertFalse(((BaseStateImpl)buf1).isMemoryApi());
-    assertFalse(((BaseStateImpl)mem2).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)mem2).isRegionView());
+    assertFalse(((ResourceImpl)buf1).isMemoryApi());
+    assertFalse(((ResourceImpl)mem2).isDuplicateBufferView());
     assertTrue(mem2.isReadOnly());
 
     Buffer buf3 = buf1.duplicate(NON_NATIVE_BYTE_ORDER);
-    assertTrue(((BaseStateImpl)buf3).isRegionView());
-    assertFalse(((BaseStateImpl)buf1).isMemoryApi());
-    assertTrue(((BaseStateImpl)buf3).isDuplicateBufferView());
-    assertTrue(((BaseStateImpl)buf3).isNonNativeOrder());
+    assertTrue(((ResourceImpl)buf3).isRegionView());
+    assertFalse(((ResourceImpl)buf1).isMemoryApi());
+    assertTrue(((ResourceImpl)buf3).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)buf3).isNonNativeOrder());
     assertTrue(buf3.isReadOnly());
 
     Memory mem3 = buf3.asMemory();
-    assertTrue(((BaseStateImpl)mem3).isRegionView());
-    assertTrue(((BaseStateImpl)mem3).isMemoryApi());
-    assertTrue(((BaseStateImpl)mem3).isDuplicateBufferView());
-    assertTrue(((BaseStateImpl)mem3).isNonNativeOrder());
+    assertTrue(((ResourceImpl)mem3).isRegionView());
+    assertTrue(((ResourceImpl)mem3).isMemoryApi());
+    assertTrue(((ResourceImpl)mem3).isDuplicateBufferView());
+    assertTrue(((ResourceImpl)mem3).isNonNativeOrder());
     assertTrue(mem3.isReadOnly());
   }
 
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/UtilTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/UtilTest.java
index f13ca51..b066a90 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/UtilTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/UtilTest.java
@@ -23,8 +23,8 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.LS;
-import static org.apache.datasketches.memory.internal.BaseStateImpl.checkBounds;
+import static org.apache.datasketches.memory.internal.ResourceImpl.LS;
+import static org.apache.datasketches.memory.internal.ResourceImpl.checkBounds;
 import static org.apache.datasketches.memory.internal.Util.characterPad;
 import static org.apache.datasketches.memory.internal.Util.getResourceBytes;
 import static org.apache.datasketches.memory.internal.Util.getResourceFile;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/WritableMemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/WritableMemoryTest.java
index 6a46e0d..fbf678c 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/WritableMemoryTest.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/WritableMemoryTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.datasketches.memory.internal;
 
-import static org.apache.datasketches.memory.internal.BaseStateImpl.NATIVE_BYTE_ORDER;
+import static org.apache.datasketches.memory.internal.ResourceImpl.NATIVE_BYTE_ORDER;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/XxHash64Test.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/XxHash64Test.java
index 9656420..7497112 100644
--- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/XxHash64Test.java
+++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/XxHash64Test.java
@@ -26,7 +26,7 @@ import static org.testng.Assert.assertTrue;
 import java.util.Random;
 import java.util.concurrent.ThreadLocalRandom;
 
-import org.apache.datasketches.memory.BaseState;
+import org.apache.datasketches.memory.Resource;
 import org.apache.datasketches.memory.Memory;
 import org.apache.datasketches.memory.WritableMemory;
 import org.testng.annotations.Test;
@@ -101,7 +101,7 @@ public class XxHash64Test {
   }
 
   /**
-   * This simple test compares the output of {@link BaseState#xxHash64(long, long, long)} with the
+   * This simple test compares the output of {@link Resource#xxHash64(long, long, long)} with the
    * output of {@link net.openhft.hashing.LongHashFunction}, that itself is tested against the
    * reference implementation in C.  This increase confidence that the xxHash function implemented
    * in this package is in fact the same xxHash function implemented in C.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org