BufferUtils: resolve issue #1288 (rewrite isDirect()) (#1299)

master
Stephen Gold 5 years ago committed by GitHub
parent 426969daeb
commit 8e334aa756
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      jme3-core/src/main/java/com/jme3/util/BufferUtils.java

@ -1277,37 +1277,15 @@ public final class BufferUtils {
allocator.destroyDirectBuffer(toBeDestroyed);
}
/*
* FIXME when java 1.5 supprt is dropped - replace calls to this method with
* Buffer.isDirect
*
* Buffer.isDirect() is only java 6. Java 5 only have this method on Buffer
* subclasses : FloatBuffer, IntBuffer, ShortBuffer,
* ByteBuffer,DoubleBuffer, LongBuffer. CharBuffer has been excluded as we
* don't use it.
/**
* Test whether the specified buffer is direct.
*
* @param buf the buffer to test (not null, unaffected)
* @return true if direct, otherwise false
*/
private static boolean isDirect(Buffer buf) {
if (buf instanceof FloatBuffer) {
return buf.isDirect();
}
if (buf instanceof IntBuffer) {
return buf.isDirect();
}
if (buf instanceof ShortBuffer) {
return buf.isDirect();
}
if (buf instanceof ByteBuffer) {
return buf.isDirect();
}
if (buf instanceof DoubleBuffer) {
return buf.isDirect();
}
if (buf instanceof LongBuffer) {
return buf.isDirect();
}
throw new UnsupportedOperationException(" BufferUtils.isDirect was called on " + buf.getClass().getName());
}
private static class BufferInfo extends PhantomReference<Buffer> {

Loading…
Cancel
Save