/*
* JFLAP - Formal Languages and Automata Package
*
*
* Susan H. Rodger
* Computer Science Department
* Duke University
* August 27, 2009
* Copyright (c) 2002-2009
* All rights reserved.
* JFLAP is open source software. Please see the LICENSE for terms.
*
*/
package gui.action;
import javax.swing.Icon;
import automata.fsa.FiniteStateAutomaton;
/**
* The FSAAction
is the general action that various controllers
* for operators on finite state automatons should subclass. The only real
* change from the RestrictedAction
is that by default the .isAcceptable
* method now only returns true if the object is an instance of FiniteStateAutomaton
.
*
* @author Thomas Finley
*/
public abstract class FSAAction extends RestrictedAction {
/**
* Instantiates a new FSAAction
.
*
* @param string
* a string description
* @param icon
* the optional icon, or null
if there is to be no
* icon associated with this action
*/
public FSAAction(String string, Icon icon) {
super(string, icon);
}
/**
* Given an object, determine if this automaton action is able to be applied
* to that object based on its class. By default, this method returns true
* if this object is an instance of Automaton
.
*
* @param object
* the object to test for "applicability"
* @return true
if this action should be available to an
* object of this type, false
otherwise.
*/
public static boolean isApplicable(Object object) {
return object instanceof FiniteStateAutomaton;
}
}