001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.dialogs.changeset.query;
003
004import org.openstreetmap.josm.io.ChangesetQuery;
005
006/**
007 * Defines a panel to apply a restriction to the changeset query.
008 * @since 11326
009 */
010public interface RestrictionPanel {
011
012    /**
013     * Determines if the changeset query is valid.
014     * @return {@code true} if the changeset query is valid.
015     */
016    boolean isValidChangesetQuery();
017
018    /**
019     * Sets the query restrictions on <code>query</code>.
020     * @param query query to fill
021     */
022    void fillInQuery(ChangesetQuery query);
023
024    /**
025     * Display error message if a field is invalid.
026     */
027    void displayMessageIfInvalid();
028}