Package com.exonum.binding.proxy
Class NativeHandle
- java.lang.Object
-
- com.exonum.binding.proxy.NativeHandle
-
- All Implemented Interfaces:
java.lang.AutoCloseable
public final class NativeHandle extends java.lang.Object implements java.lang.AutoCloseableAn implementation-specific handle to the native object. Once closed, can no longer be accessed.
-
-
Field Summary
Fields Modifier and Type Field Description static longINVALID_NATIVE_HANDLEA reserved value for an invalid native handle, equal tonullptrin C++.
-
Constructor Summary
Constructors Constructor Description NativeHandle(long nativeHandle)Creates new native handle.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()longget()Returns a native implementation-specific handle if it may be safely used to access the native object.java.lang.StringtoString()
-
-
-
Field Detail
-
INVALID_NATIVE_HANDLE
public static final long INVALID_NATIVE_HANDLE
A reserved value for an invalid native handle, equal tonullptrin C++.- See Also:
- Constant Field Values
-
-
Method Detail
-
get
public long get()
Returns a native implementation-specific handle if it may be safely used to access the native object.The returned value shall only be passed as an argument to native methods.
Warning: do not cache the return value, as you won't be able to catch use-after-free.
- Throws:
java.lang.IllegalStateException- if this native handle is invalid (closed or nullptr)
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-