public class FinalizeTrigger
extends java.lang.Object
PyObject
s, read the documentation of
FinalizablePyObject
.Modifier and Type | Field and Description |
---|---|
static FinalizeTriggerFactory |
factory
This factory hook is reserved for use by JyNI.
|
static byte |
FINALIZED_FLAG
Indicates that this trigger was already finalized.
|
byte |
flags |
static byte |
NOT_FINALIZABLE_FLAG
Indicates that the underlying PyObject was never intended to be finalized.
|
static byte |
NOTIFY_GC_FLAG
This flag tells the finalize trigger to call
gc.notifyFinalize(PyObject) after it called the finalizer. |
static byte |
ONLY_BUILTIN_FLAG
Indicates that only
FinalizableBuiltin
shall be called. |
protected PyObject |
toFinalize |
Modifier | Constructor and Description |
---|---|
protected |
FinalizeTrigger(PyObject toFinalize) |
Modifier and Type | Method and Description |
---|---|
static void |
appendFinalizeTriggerForBuiltin(PyObject obj) |
void |
clear() |
static void |
ensureFinalizer(PyObject resurrect)
Recreates the
FinalizeTrigger of the given object. |
protected void |
finalize() |
static boolean |
hasActiveTrigger(PyObject obj) |
boolean |
isActive() |
protected boolean |
isCyclic() |
static boolean |
isFinalizable(PyObject obj) |
boolean |
isFinalized() |
protected boolean |
isUncollectable() |
static FinalizeTrigger |
makeTrigger(PyObject toFinalize) |
void |
performFinalization() |
static void |
runFinalizer(PyObject toFinalize) |
static void |
runFinalizer(PyObject toFinalize,
boolean runBuiltinOnly) |
void |
trigger(PyObject toFinalize) |
public static final byte NOTIFY_GC_FLAG
gc.notifyFinalize(PyObject)
after it called the finalizer.public static final byte NOT_FINALIZABLE_FLAG
gc
that the underlying object was finalized.
This is needed for some advanced gc-functionality.public static final byte ONLY_BUILTIN_FLAG
FinalizableBuiltin
shall be called.public static final byte FINALIZED_FLAG
public static FinalizeTriggerFactory factory
FinalizeTrigger
.
JyNI needs it to support garbage collection.protected PyObject toFinalize
public byte flags
protected FinalizeTrigger(PyObject toFinalize)
public static FinalizeTrigger makeTrigger(PyObject toFinalize)
public static boolean hasActiveTrigger(PyObject obj)
public static boolean isFinalizable(PyObject obj)
public static void ensureFinalizer(PyObject resurrect)
FinalizeTrigger
of the given object. This makes sure that
once the resurrected object is gc'ed again, its __del__
-method will be
called again.public static void runFinalizer(PyObject toFinalize)
public static void runFinalizer(PyObject toFinalize, boolean runBuiltinOnly)
public static void appendFinalizeTriggerForBuiltin(PyObject obj)
public void clear()
public void trigger(PyObject toFinalize)
public boolean isActive()
protected boolean isCyclic()
protected boolean isUncollectable()
public void performFinalization()
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public boolean isFinalized()