001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm;
003
004/**
005 * To be implemented by modifiable objects to offer a "read-only/locked" mode.
006 * @since 13453
007 */
008public interface Lockable {
009
010    /**
011     * Enables the read-only/locked mode.
012     */
013    void lock();
014
015    /**
016     * Disables the read-only/locked mode.
017     */
018    void unlock();
019
020    /**
021     * Determines if this is read-only/locked (thus it cannot be modified).
022     * @return {@code true} if this is read-only/locked
023     */
024    boolean isLocked();
025}