Package org.mozilla.javascript
Class VMBridge
- java.lang.Object
- 
- org.mozilla.javascript.VMBridge
 
- 
- Direct Known Subclasses:
- VMBridge_jdk18
 
 public abstract class VMBridge extends java.lang.Object
- 
- 
Constructor SummaryConstructors Constructor Description VMBridge()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description protected abstract ContextgetContext(java.lang.Object contextHelper)GetContextinstance associated with the current thread or null if none.protected abstract java.lang.ObjectgetInterfaceProxyHelper(ContextFactory cf, java.lang.Class<?>[] interfaces)Create helper object to create later proxies implementing the specified interfaces later.protected abstract java.lang.ObjectgetThreadContextHelper()Return a helper object to optimizeContextaccess.protected abstract java.lang.ObjectnewInterfaceProxy(java.lang.Object proxyHelper, ContextFactory cf, InterfaceAdapter adapter, java.lang.Object target, Scriptable topScope)Create proxy object forInterfaceAdapter.protected abstract voidsetContext(java.lang.Object contextHelper, Context cx)AssociateContextinstance with the current thread or remove the current association ifcxis null.protected abstract booleantryToMakeAccessible(java.lang.reflect.AccessibleObject accessible)In many JVMSs, public methods in private classes are not accessible by default (Sun Bug #4071593).
 
- 
- 
- 
Method Detail- 
getThreadContextHelperprotected abstract java.lang.Object getThreadContextHelper() Return a helper object to optimizeContextaccess.The runtime will pass the resulting helper object to the subsequent calls to getContext(Object contextHelper)andsetContext(Object contextHelper, Context cx)methods. In this way the implementation can use the helper to cache information about current thread to makeContextaccess faster.
 - 
getContextprotected abstract Context getContext(java.lang.Object contextHelper) GetContextinstance associated with the current thread or null if none.- Parameters:
- contextHelper- The result of- getThreadContextHelper()called from the current thread.
 
 - 
setContextprotected abstract void setContext(java.lang.Object contextHelper, Context cx)AssociateContextinstance with the current thread or remove the current association ifcxis null.- Parameters:
- contextHelper- The result of- getThreadContextHelper()called from the current thread.
 
 - 
tryToMakeAccessibleprotected abstract boolean tryToMakeAccessible(java.lang.reflect.AccessibleObject accessible) In many JVMSs, public methods in private classes are not accessible by default (Sun Bug #4071593). VMBridge instance should try to workaround that via, for example, calling method.setAccessible(true) when it is available. The implementation is responsible to catch all possible exceptions like SecurityException if the workaround is not available.- Returns:
- true if it was possible to make method accessible or false otherwise.
 
 - 
getInterfaceProxyHelperprotected abstract java.lang.Object getInterfaceProxyHelper(ContextFactory cf, java.lang.Class<?>[] interfaces) Create helper object to create later proxies implementing the specified interfaces later. Under JDK 1.3 the implementation can look like:return java.lang.reflect.Proxy.getProxyClass(..., interfaces). getConstructor(new Class[] { java.lang.reflect.InvocationHandler.class });- Parameters:
- interfaces- Array with one or more interface class objects.
 
 - 
newInterfaceProxyprotected abstract java.lang.Object newInterfaceProxy(java.lang.Object proxyHelper, ContextFactory cf, InterfaceAdapter adapter, java.lang.Object target, Scriptable topScope)Create proxy object forInterfaceAdapter. The proxy should callInterfaceAdapter.invoke(ContextFactory, Object, Scriptable, Object, Method, Object[])as implementation of interface methods associated withproxyHelper.Method- Parameters:
- proxyHelper- The result of the previous call to- getInterfaceProxyHelper(ContextFactory, Class[]).
 
 
- 
 
-