- java.lang.Object
-
- de.jangassen.jfa.foundation.Foundation
-
public final class Foundation extends Object
- Author:
- spleaner see Documentation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFoundation.CGFloatstatic classFoundation.NSArraystatic classFoundation.NSAutoreleasePoolstatic classFoundation.NSDictionary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanaddIvar(ID cls, String name, String types)static booleanaddMethod(ID cls, com.sun.jna.Pointer selectorName, com.sun.jna.Callback impl, String types)static booleanaddMethodByID(ID cls, com.sun.jna.Pointer selectorName, ID impl, String types)static booleanaddProtocol(ID aClass, ID protocol)static IDallocateObjcClassPair(ID superCls, String name)static IDautorelease(ID id)static IDcastPointerToNSError(com.sun.jna.PointerType pointerType)static voidcfRelease(ID... ids)static voidcfRetain(ID id)static IDclass_replaceMethod(ID cls, com.sun.jna.Pointer selector, com.sun.jna.Callback impl, String types)static Object[]convertTypes(Object[] v)static IDcreateDict(String[] keys, Object[] values)static com.sun.jna.PointerTypecreatePointerReference()static com.sun.jna.PointercreateSelector(String s)static voidexecuteOnMainThread(boolean withAutoreleasePool, boolean waitUntilDone, Runnable runnable)static IDfillArray(Object[] a)static StringfullUserName()static com.sun.jna.PointergetClass(com.sun.jna.Pointer clazz)static longgetEncodingCode(String encodingName)static StringgetEncodingName(long nsStringEncoding)static com.sun.jna.PointergetInstanceVariable(ID cls, String name)static IDgetIvar(ID instance, com.sun.jna.Pointer ivar)static IDgetMetaClass(String className)static StringgetNSErrorText(ID error)static IDgetObjcClass(String className)Get the ID of the NSClass with classNamestatic IDgetProtocol(String name)static voidinit()static IDinvoke(ID id, com.sun.jna.Pointer selector, Object... args)static IDinvoke(ID id, String selector, Object... args)static IDinvoke(String cls, String selector, Object... args)static IDinvokeVarArg(ID id, com.sun.jna.Pointer selector, Object... args)Invokes the given vararg selector.static IDinvokeVarArg(String cls, String selector, Object... args)static booleanisAvailable()static booleanisClassRespondsToSelector(ID cls, com.sun.jna.Pointer selectorName)static booleanisMainThread()static booleanisMetaClass(ID cls)static booleanisNil(ID id)static booleanisPackageAtPath(File file)static booleanisPackageAtPath(String path)static IDnsString(String s)static IDnsUUID(String uuid)static IDnsUUID(UUID uuid)static voidregisterObjcClassPair(ID cls)static IDsafeInvoke(ID id, String stringSelector, Object... args)static IDsafeInvoke(String stringCls, String stringSelector, Object... args)static booleansetIvar(ID instance, com.sun.jna.Pointer ivar, ID value)static StringstringFromClass(ID aClass)static StringstringFromSelector(com.sun.jna.Pointer selector)static StringtoStringViaUTF8(ID cfString)
-
-
-
Method Detail
-
isAvailable
public static boolean isAvailable()
-
init
public static void init()
-
getObjcClass
public static ID getObjcClass(String className)
Get the ID of the NSClass with className
-
createSelector
public static com.sun.jna.Pointer createSelector(String s)
-
invokeVarArg
public static ID invokeVarArg(ID id, com.sun.jna.Pointer selector, Object... args)
Invokes the given vararg selector. Expects `NSArray arrayWithObjects:(id), ...` like signature, i.e. exactly one fixed argument, followed by varargs.
-
isNil
public static boolean isNil(ID id)
-
registerObjcClassPair
public static void registerObjcClassPair(ID cls)
-
isClassRespondsToSelector
public static boolean isClassRespondsToSelector(ID cls, com.sun.jna.Pointer selectorName)
-
addMethod
public static boolean addMethod(ID cls, com.sun.jna.Pointer selectorName, com.sun.jna.Callback impl, String types)
- Parameters:
cls- The class to which to add a method.selectorName- A selector that specifies the name of the method being added.impl- A function which is the implementation of the new method. The function must take at least two arguments-self and _cmd.types- An array of characters that describe the types of the arguments to the method. See- Returns:
- true if the method was added successfully, otherwise false (for example, the class already contains a method implementation with that name).
-
addMethodByID
public static boolean addMethodByID(ID cls, com.sun.jna.Pointer selectorName, ID impl, String types)
-
isMetaClass
public static boolean isMetaClass(ID cls)
-
stringFromSelector
public static String stringFromSelector(com.sun.jna.Pointer selector)
-
getClass
public static com.sun.jna.Pointer getClass(com.sun.jna.Pointer clazz)
-
fullUserName
public static String fullUserName()
-
class_replaceMethod
public static ID class_replaceMethod(ID cls, com.sun.jna.Pointer selector, com.sun.jna.Callback impl, String types)
-
isPackageAtPath
public static boolean isPackageAtPath(String path)
-
isPackageAtPath
public static boolean isPackageAtPath(File file)
-
getEncodingName
public static String getEncodingName(long nsStringEncoding)
-
getEncodingCode
public static long getEncodingCode(String encodingName)
-
cfRetain
public static void cfRetain(ID id)
-
cfRelease
public static void cfRelease(ID... ids)
-
isMainThread
public static boolean isMainThread()
-
executeOnMainThread
public static void executeOnMainThread(boolean withAutoreleasePool, boolean waitUntilDone, Runnable runnable)
-
createPointerReference
public static com.sun.jna.PointerType createPointerReference()
-
castPointerToNSError
public static ID castPointerToNSError(com.sun.jna.PointerType pointerType)
-
-