Class CallableDirect<V>
- Namespace
- Java.Util.Concurrent
- Assembly
- MASES.JNet.dll
Concrete CLR representation of Callable returned by the JVM.
public class CallableDirect<V> : Callable<V>, IDynamicMetaObjectProvider, IJVMBridgeCore, IEquatable<IJVMBridgeBase>, IDisposable, IJVMBridgeBaseStatic, IJVMBridgeBase, IJVMBridgeDefinition, ICallable<V>
Type Parameters
V
- Inheritance
-
Callable<V>CallableDirect<V>
- Implements
-
ICallable<V>
- Inherited Members
-
JVMBridgeListener.ListenerShallManageEventIndexJVMBridgeListener.ListenerShallManageEventNameJVMBridgeListener.ListenerShallManageEventIndexWithDataJVMBridgeListener.ListenerShallManageEventNameWithDataJVMBridgeBase<JVMBridgeListener>.IsAssignableFrom(IJavaType)JVMBridgeBase<JVMBridgeListener>.IsAssignableFrom<T>()JVMBridgeBase<JVMBridgeListener>.Execute<T>(params T[])JVMBridgeBase<JVMBridgeListener>.DynBridgeClazzJVMBridgeBase<JVMBridgeListener>.BridgeClazzJVMBridgeBase.ReferenceEqualsJVM(IJVMBridgeBase, IJVMBridgeBase)JVMBridgeBase.RuntimeClassNameOf<T>()JVMBridgeBase.ClassNameOf<T>()JVMBridgeBase.ClassOf<T>()JVMBridgeBase.WrapsDirect<TNewClass>(IJavaObject)JVMBridgeBase.Wraps<TNewClass>(IJavaObject)JVMBridgeBase.Wraps<TNewClass, TReturn>(IJavaObject)JVMBridgeBase.Wraps<TNewClass, TReturn, TConverter>(IJavaObject)JVMBridgeBase.MonitorEnter()JVMBridgeBase.MonitorExit()JVMBridgeBase.IsInstanceOf(IJavaType)JVMBridgeBase.IsInstanceOf<T>()JVMBridgeBase.RuntimeIsInstanceOf<T>()JVMBridgeBase.CastTo<TNewClass>()JVMBridgeBase.CastToAndDetach<TNewClass>()JVMBridgeBase.CastDirect<TNewClass>()JVMBridgeBase.CastDirectAndDetach<TNewClass>()JVMBridgeBase.CheckDisposed()JVMBridgeBase.ToString()JVMBridgeBase.Equals(IJVMBridgeBase)JVMBridgeBase.GetHashCode()JVMBridgeBase.Notify()JVMBridgeBase.NotifyAll()JVMBridgeBase.Wait()JVMBridgeBase.IExecuteWithSignature<TNewClass, TReturn, TConverter>(string, string, params object[])JVMBridgeBase.DynBridgeInstanceJVMBridgeBase.BridgeInstance
- Extension Methods
Remarks
When the JVM returns an instance of this listener type, JCOBridge needs a concrete CLR class to wrap it. A full listener implementation cannot be used in this scenario because it would require user-provided handler code that is not available at the point of construction. This class provides a minimal, handler-free wrapper: InitializeHandlers(Type) is a no-op, ListenerShallManageEvent(int) unconditionally returns false discarding all events immediately, and AutoInit is false to prevent automatic JVM-side registration.
Do not use this class directly to register event handlers — use Callable instead.
Constructors
CallableDirect(IJVMBridgeBaseInitializer)
Initializer used internally by JCOBridge. Do not use directly.
[Obsolete("This public initializer is needed for JCOBridge internal use, other uses can produce unidentible behaviors.")]
public CallableDirect(IJVMBridgeBaseInitializer initializer)
Parameters
initializerIJVMBridgeBaseInitializer
CallableDirect(params object[])
Generic constructor used by JCOBridge when a derived class needs to forward arguments to the base JVMBridgeBase class.
public CallableDirect(params object[] args)
Parameters
argsobject[]
Properties
AutoInit
Set to false to externally initialize this JVMBridgeListener instance using InitializeListener(IJVMBridgeBase)
public override bool AutoInit { get; }
Property Value
BridgeClassName
Java class name to be instantiated
public override string BridgeClassName { get; }
Property Value
IsBridgeAbstract
true if the BridgeClassName is an abstract class, i.e. cannot be created an instance
public override bool IsBridgeAbstract { get; }
Property Value
IsBridgeCloseable
true if the BridgeClassName implements java.lang.AutoCloseable
public override bool IsBridgeCloseable { get; }
Property Value
IsBridgeInterface
true if the BridgeClassName is an interface, i.e. does not have any public constructor
public override bool IsBridgeInterface { get; }
Property Value
IsBridgeStatic
true if the BridgeClassName is a static class, i.e. does not have any public constructor
public override bool IsBridgeStatic { get; }
Property Value
Methods
Call()
public override V Call()
Returns
- V
V
Exceptions
InitializeHandlers(Type)
Handlers initializer for Callable
protected override void InitializeHandlers(Type _)
Parameters
_Type
Remarks
No handlers are registered in this direct override — initialization is intentionally skipped.
ListenerShallManageEvent(int)
Invoked from the JVMBridgeListener on each received event to notify the user which can decide to abort the execution for the specific event returning false
protected override bool ListenerShallManageEvent(int _)
Parameters
_int
Returns
Remarks
By default every event continues the execution and reads the data from JVM; this implies an extra cost which can be limited using ListenerShallManageEvent(int) or the MASES.JCOBridge.C2JBridge.JVMBridgeListener.ListenerShallManageEventIndex/MASES.JCOBridge.C2JBridge.JVMBridgeListener.ListenerShallManageEventName handlers. Returning false the control is immediately returned to the JVM, anyway the user has received the notification. It can be useful in scenarios where the user is interested in few events and the other are simply discarded to optimize the execution speed. By default, this function invokes MASES.JCOBridge.C2JBridge.JVMBridgeListener.ListenerShallManageEventIndex, then try MASES.JCOBridge.C2JBridge.JVMBridgeListener.ListenerShallManageEventName if they are set or return true