Table of Contents

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
CallableDirect<V>
Implements
Inherited Members
JVMBridgeListener.ListenerShallManageEventIndex
JVMBridgeListener.ListenerShallManageEventName
JVMBridgeListener.ListenerShallManageEventIndexWithData
JVMBridgeListener.ListenerShallManageEventNameWithData
JVMBridgeBase<JVMBridgeListener>.IsAssignableFrom(IJavaType)
JVMBridgeBase<JVMBridgeListener>.IsAssignableFrom<T>()
JVMBridgeBase<JVMBridgeListener>.Execute<T>(params T[])
JVMBridgeBase<JVMBridgeListener>.DynBridgeClazz
JVMBridgeBase<JVMBridgeListener>.BridgeClazz
JVMBridgeBase.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.DynBridgeInstance
JVMBridgeBase.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

initializer IJVMBridgeBaseInitializer

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

args object[]

Properties

AutoInit

Set to false to externally initialize this JVMBridgeListener instance using InitializeListener(IJVMBridgeBase)

public override bool AutoInit { get; }

Property Value

bool

BridgeClassName

Java class name to be instantiated

public override string BridgeClassName { get; }

Property Value

string

IsBridgeAbstract

true if the BridgeClassName is an abstract class, i.e. cannot be created an instance

public override bool IsBridgeAbstract { get; }

Property Value

bool

IsBridgeCloseable

true if the BridgeClassName implements java.lang.AutoCloseable

public override bool IsBridgeCloseable { get; }

Property Value

bool

IsBridgeInterface

true if the BridgeClassName is an interface, i.e. does not have any public constructor

public override bool IsBridgeInterface { get; }

Property Value

bool

IsBridgeStatic

true if the BridgeClassName is a static class, i.e. does not have any public constructor

public override bool IsBridgeStatic { get; }

Property Value

bool

Methods

Call()

public override V Call()

Returns

V

V

Exceptions

Exception

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

bool

Returns true to continue event evaluation, false to return the control to the JVM

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