Interface Callbacks

All Known Subinterfaces:
H5A_iterate_cb, H5D_append_cb, H5D_iterate_cb, H5E_walk_cb, H5L_iterate_cb, H5O_iterate_cb, H5P_cls_close_func_cb, H5P_cls_copy_func_cb, H5P_cls_create_func_cb, H5P_iterate_cb, H5P_prp_close_func_cb, H5P_prp_compare_func_cb, H5P_prp_copy_func_cb, H5P_prp_create_func_cb, H5P_prp_delete_func_cb, H5P_prp_get_func_cb, H5P_prp_set_func_cb

public interface Callbacks
All callback definitions must derive from this interface. Any derived interfaces must define a single public method named "callback". You are responsible for deregistering your callback (if necessary) in its Object.finalize() method. If native code attempts to call a callback which has been GC'd, you will likely crash the VM. If there is no method to deregister the callback (e.g. atexit in the C library), you must ensure that you always keep a live reference to the callback object.

A callback should generally never throw an exception, since it doesn't necessarily have an encompassing Java environment to catch it. Any exceptions thrown will be passed to the default callback exception handler.