001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.tools;
003
004/**
005 * Some objects like layers (when they are removed) or the whole map frame (when the last layer has
006 * been removed) have an definite set of actions to execute. This is the "destructor" interface called
007 * on those objects.
008 *
009 * @author immanuel.scholz
010 * @since   208 (creation)
011 * @since 10600 (functional interface)
012 */
013@FunctionalInterface
014public interface Destroyable {
015
016    /**
017     * Called when the object has been destroyed.
018     */
019    void destroy();
020}