Package org.apache.pdfbox.debugger.ui
Class OSXAdapter
- java.lang.Object
-
- org.apache.pdfbox.debugger.ui.OSXAdapter
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler
public class OSXAdapter extends java.lang.Object implements java.lang.reflect.InvocationHandlerHooks existing preferences/about/quit functionality from an existing Java app into handlers for the Mac OS X application menu. Uses a Proxy object to dynamically implement the com.apple.eawt.ApplicationListener interface and register it with the com.apple.eawt.Application object. This allows the complete project to be both built and run on any platform without any stubs or placeholders. Useful for developers looking to implement Mac OS X features while supporting multiple platforms with minimal impact.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringproxySignatureprotected java.lang.reflect.MethodtargetMethodprotected java.lang.ObjecttargetObject
-
Constructor Summary
Constructors Modifier Constructor Description protectedOSXAdapter(java.lang.String proxySignature, java.lang.Object target, java.lang.reflect.Method handler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancallTarget(java.lang.Object appleEvent)java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)protected booleanisCorrectMethod(java.lang.reflect.Method method, java.lang.Object[] args)static voidsetAboutHandler(java.lang.Object target, java.lang.reflect.Method aboutHandler)protected voidsetApplicationEventHandled(java.lang.Object event, boolean handled)static voidsetFileHandler(java.lang.Object target, java.lang.reflect.Method fileHandler)static voidsetHandler(OSXAdapter adapter)static voidsetPreferencesHandler(java.lang.Object target, java.lang.reflect.Method prefsHandler)static voidsetQuitHandler(java.lang.Object target, java.lang.reflect.Method quitHandler)
-
-
-
Method Detail
-
setQuitHandler
public static void setQuitHandler(java.lang.Object target, java.lang.reflect.Method quitHandler)
-
setAboutHandler
public static void setAboutHandler(java.lang.Object target, java.lang.reflect.Method aboutHandler)
-
setPreferencesHandler
public static void setPreferencesHandler(java.lang.Object target, java.lang.reflect.Method prefsHandler)
-
setFileHandler
public static void setFileHandler(java.lang.Object target, java.lang.reflect.Method fileHandler)
-
setHandler
public static void setHandler(OSXAdapter adapter)
-
callTarget
public boolean callTarget(java.lang.Object appleEvent) throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException- Throws:
java.lang.reflect.InvocationTargetExceptionjava.lang.IllegalAccessException
-
invoke
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable- Specified by:
invokein interfacejava.lang.reflect.InvocationHandler- Throws:
java.lang.Throwable
-
isCorrectMethod
protected boolean isCorrectMethod(java.lang.reflect.Method method, java.lang.Object[] args)
-
setApplicationEventHandled
protected void setApplicationEventHandled(java.lang.Object event, boolean handled)
-
-