Package com.kenai.jffi
Class Type
- java.lang.Object
-
- com.kenai.jffi.Type
-
- Direct Known Subclasses:
Aggregate,Type.Builtin
public abstract class Type extends java.lang.ObjectNative parameter and return types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classType.BuiltinTypes that are built-in to libffi.(package private) static classType.TypeInfoThis is a lazy loaded cache of builtin type info, so we can still have Type.VOID as a public static variable without it causing the native library to load.
-
Field Summary
Fields Modifier and Type Field Description private intalignmentstatic TypeDOUBLEThe native double typestatic TypeFLOATThe native float typeprivate longhandlestatic TypeLONGDOUBLEThe native long double typestatic TypePOINTERThe native memory address typestatic TypeSCHARThe native signed char typestatic TypeSINTThe native signed integer typestatic TypeSINT16The native signed 16 bit integer typestatic TypeSINT32The native signed 32 bit integer typestatic TypeSINT64The native signed 64 bit integer typestatic TypeSINT8The native signed 8 bit integer typeprivate intsizestatic TypeSLONGThe native signed long integer typestatic TypeSLONG_LONGThe native signed long long integer typestatic TypeSSHORTThe native signed short integer typeprivate inttypestatic TypeUCHARThe native unsigned char typestatic TypeUINTThe native unsigned integer typestatic TypeUINT16The native unsigned 16 bit integer typestatic TypeUINT32The native unsigned 32 bit integer typestatic TypeUINT64The native unsigned 64 bit integer typestatic TypeUINT8The native unsigned 8 bit integer typestatic TypeULONGThe native unsigned long integer typestatic TypeULONG_LONGThe native unsigned long long integer typestatic TypeUSHORTThe native unsigned short integer typestatic TypeVOIDThe native void type
-
Constructor Summary
Constructors Constructor Description Type()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description intalignment()Gets the alignment of this type.private static Typebuiltin(NativeType nativeType)Creates aTypeinstance for builtin types.booleanequals(java.lang.Object obj)(package private) abstract Type.TypeInfogetTypeInfo()(package private) longhandle()Gets the native address of the ffi_type struct for thisTypeinthashCode()(package private) static long[]nativeHandles(Type[] types)Converts an array ofTypeobjects into an array of pointers to ffi_type structures.(package private) static long[]nativeHandles(java.util.List<Type> types)Converts a list ofTypeobjects into an array of pointers to ffi_type structures.private intresolveAlignment()private longresolveHandle()private intresolveSize()private intresolveType()intsize()Gets the size of this type.inttype()Gets the FFI type enum value for thisType
-
-
-
Field Detail
-
VOID
public static final Type VOID
The native void type
-
FLOAT
public static final Type FLOAT
The native float type
-
DOUBLE
public static final Type DOUBLE
The native double type
-
LONGDOUBLE
public static final Type LONGDOUBLE
The native long double type
-
UINT8
public static final Type UINT8
The native unsigned 8 bit integer type
-
SINT8
public static final Type SINT8
The native signed 8 bit integer type
-
UINT16
public static final Type UINT16
The native unsigned 16 bit integer type
-
SINT16
public static final Type SINT16
The native signed 16 bit integer type
-
UINT32
public static final Type UINT32
The native unsigned 32 bit integer type
-
SINT32
public static final Type SINT32
The native signed 32 bit integer type
-
UINT64
public static final Type UINT64
The native unsigned 64 bit integer type
-
SINT64
public static final Type SINT64
The native signed 64 bit integer type
-
POINTER
public static final Type POINTER
The native memory address type
-
UCHAR
public static final Type UCHAR
The native unsigned char type
-
SCHAR
public static final Type SCHAR
The native signed char type
-
USHORT
public static final Type USHORT
The native unsigned short integer type
-
SSHORT
public static final Type SSHORT
The native signed short integer type
-
UINT
public static final Type UINT
The native unsigned integer type
-
SINT
public static final Type SINT
The native signed integer type
-
ULONG
public static final Type ULONG
The native unsigned long integer type
-
SLONG
public static final Type SLONG
The native signed long integer type
-
ULONG_LONG
public static final Type ULONG_LONG
The native unsigned long long integer type
-
SLONG_LONG
public static final Type SLONG_LONG
The native signed long long integer type
-
type
private int type
-
size
private int size
-
alignment
private int alignment
-
handle
private volatile long handle
-
-
Method Detail
-
type
public final int type()
Gets the FFI type enum value for thisType- Returns:
- An integer representing the FFI type.
-
handle
final long handle()
Gets the native address of the ffi_type struct for thisType- Returns:
- The address of the ffi_type structure
-
size
public final int size()
Gets the size of this type.- Returns:
- The size of this type, in bytes.
-
alignment
public final int alignment()
Gets the alignment of this type.- Returns:
- The alignment of this type, in bytes.
-
resolveType
private int resolveType()
-
resolveSize
private int resolveSize()
-
resolveAlignment
private int resolveAlignment()
-
resolveHandle
private long resolveHandle()
-
getTypeInfo
abstract Type.TypeInfo getTypeInfo()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
nativeHandles
static long[] nativeHandles(Type[] types)
Converts an array ofTypeobjects into an array of pointers to ffi_type structures.- Parameters:
types- An array ofTypeobjects- Returns:
- An array of native ffi_type handles.
-
nativeHandles
static long[] nativeHandles(java.util.List<Type> types)
Converts a list ofTypeobjects into an array of pointers to ffi_type structures.- Parameters:
types- A list ofTypeobjects- Returns:
- An array of native ffi_type handles.
-
builtin
private static Type builtin(NativeType nativeType)
Creates aTypeinstance for builtin types.- Parameters:
nativeType- The builtin type enum.- Returns:
- A
Typeinstance.
-
-