blob: 03888b4e6244a8867058630b8061a3edab67572e [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2012, 2021 Original NatTable authors and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Original NatTable authors and others - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.ecommons.waltable.freeze;
import org.eclipse.statet.ecommons.waltable.command.ILayerCommand;
/**
* Interface to mark commands as freeze related commands that are handled by
* the {@link FreezeCommandHandler} or any command handler that handles {@link ILayerCommand}s
* of this type.
*/
public interface IFreezeCommand extends ILayerCommand {
/**
* Indicates whether this command should toggle the frozen state between
* frozen and unfrozen, or if it should always result in a frozen state.
* @return <code>true</code> if a frozen state should be unfrozen when it is
* tried to freeze again
*/
boolean isToggle();
/**
* Indicates whether this command should override a current frozen state
* or if it should be skipped if a frozen state is already applied.
* @return <code>true</code> if a current freeze state should be overriden,
* <code>false</code> if a requested freeze should be skipped on a
* already frozen state.
*/
boolean isOverrideFreeze();
}