public class FinalizeTrigger extends 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. |
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. |
static boolean |
hasActiveTrigger(PyObject obj) |
boolean |
isActive() |
static boolean |
isFinalizable(PyObject obj) |
boolean |
isFinalized() |
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.public byte flags
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()
public void performFinalization()
public boolean isFinalized()