Class JavaType

  • public class JavaType
    extends Object
    Describes a java-side representation of a type that is used to represent the same data on both the Java-side and C-side during a JNI operation. Also contains some utility methods for creating common types.
    • Method Detail

      • hashCode

        public int hashCode()
        hashCode in class Object
      • getElementType

        public JavaType getElementType()
      • getElementCType

        public Type getElementCType()
      • createForOpaqueClass

        public static JavaType createForOpaqueClass​(Class<?> clazz)
        Creates a JavaType corresponding to the given opaque Java type. This can be used to represent arrays of primitive values or Strings; the emitters understand how to perform proper conversion from the corresponding C type.
      • createForClass

        public static JavaType createForClass​(Class<?> clazz)
        Creates a JavaType corresponding to the given Java type. This can be used to represent arrays of primitive values or Strings; the emitters understand how to perform proper conversion from the corresponding C type.
      • createForCStruct

        public static JavaType createForCStruct​(String name)
        Creates a JavaType corresponding to the specified C CompoundType name; for example, if "Foo" is supplied, then this JavaType represents a "Foo *" by way of a StructAccessor.
      • createForCArray

        public static JavaType createForCArray​(Type elementType)
        Creates a JavaType corresponding to an array of the given element type. This is used to represent arrays of "Foo **" which should be mapped to Foo[] in Java.
      • createForCVoidPointer

        public static JavaType createForCVoidPointer()
      • createForCCharPointer

        public static JavaType createForCCharPointer()
      • createForCShortPointer

        public static JavaType createForCShortPointer()
      • createForCInt32Pointer

        public static JavaType createForCInt32Pointer()
      • createForCInt64Pointer

        public static JavaType createForCInt64Pointer()
      • createForCFloatPointer

        public static JavaType createForCFloatPointer()
      • createForCDoublePointer

        public static JavaType createForCDoublePointer()
      • createForJNIEnv

        public static JavaType createForJNIEnv()
      • forNIOBufferClass

        public static JavaType forNIOBufferClass()
      • forNIOByteBufferClass

        public static JavaType forNIOByteBufferClass()
      • forNIOShortBufferClass

        public static JavaType forNIOShortBufferClass()
      • forNIOIntBufferClass

        public static JavaType forNIOIntBufferClass()
      • forNIOLongBufferClass

        public static JavaType forNIOLongBufferClass()
      • forNIOPointerBufferClass

        public static JavaType forNIOPointerBufferClass()
      • forNIOFloatBufferClass

        public static JavaType forNIOFloatBufferClass()
      • forNIODoubleBufferClass

        public static JavaType forNIODoubleBufferClass()
      • forNIOByteBufferArrayClass

        public static JavaType forNIOByteBufferArrayClass()
      • getJavaClass

        public Class<?> getJavaClass()
        Returns the Java Class corresponding to this type. Returns null if this object corresponds to a C primitive array type.
      • getName

        public String getName()
        Returns the Java type name corresponding to this type.
      • getDescriptor

        public String getDescriptor()
        Returns the descriptor (internal type signature) corresponding to this type.
      • jniTypeName

        public String jniTypeName()
        Returns the String corresponding to the JNI type for this type, or NULL if it can't be represented (i.e., it's a boxing class that we need to call getBuffer() on.)
      • isOpaqued

        public boolean isOpaqued()
      • isNIOBuffer

        public boolean isNIOBuffer()
      • isNIOByteBuffer

        public boolean isNIOByteBuffer()
      • isNIOByteBufferArray

        public boolean isNIOByteBufferArray()
      • isNIOBufferArray

        public boolean isNIOBufferArray()
      • isNIOLongBuffer

        public boolean isNIOLongBuffer()
      • isNIOPointerBuffer

        public boolean isNIOPointerBuffer()
      • isString

        public boolean isString()
      • isArray

        public boolean isArray()
      • isFloatArray

        public boolean isFloatArray()
      • isDoubleArray

        public boolean isDoubleArray()
      • isByteArray

        public boolean isByteArray()
      • isIntArray

        public boolean isIntArray()
      • isShortArray

        public boolean isShortArray()
      • isLongArray

        public boolean isLongArray()
      • isStringArray

        public boolean isStringArray()
      • isPrimitive

        public boolean isPrimitive()
      • isPrimitiveArray

        public boolean isPrimitiveArray()
      • isShort

        public boolean isShort()
      • isFloat

        public boolean isFloat()
      • isDouble

        public boolean isDouble()
      • isByte

        public boolean isByte()
      • isLong

        public boolean isLong()
      • isInt

        public boolean isInt()
      • isVoid

        public boolean isVoid()
      • isCompoundTypeWrapper

        public boolean isCompoundTypeWrapper()
      • isArrayOfCompoundTypeWrappers

        public boolean isArrayOfCompoundTypeWrappers()
      • isCPrimitivePointerType

        public boolean isCPrimitivePointerType()
      • isCVoidPointerType

        public boolean isCVoidPointerType()
      • isCCharPointerType

        public boolean isCCharPointerType()
      • isCShortPointerType

        public boolean isCShortPointerType()
      • isCInt32PointerType

        public boolean isCInt32PointerType()
      • isCInt64PointerType

        public boolean isCInt64PointerType()
      • isCFloatPointerType

        public boolean isCFloatPointerType()
      • isCDoublePointerType

        public boolean isCDoublePointerType()
      • isJNIEnv

        public boolean isJNIEnv()
      • getDebugString

        public String getDebugString()