/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.openide.util;
import javax.swing.Action;
import org.openide.util.Lookup;
/**
* Interface which is supposed to be implemented by action which behaviour
* is context dependent.
* It means the created action (by method {@link #createContextAwareInstance}
* is valid to the provided context, i.e. enablement status
* and action performation is related to the context
* (provided by the <code>Lookup</code>).
* The context is typically <code>TopComponent</code>S context.
*
* @author Jaroslav Tulach, Peter Zavadsky
*
* @see org.openide.windows.TopComponent#getLookup
* @see org.openide.util.Utilities#actionsToPopup
* @since 3.29
*/
public interface ContextAwareAction extends Action {
/** Creates action instance for provided context. */
public Action createContextAwareInstance(Lookup actionContext);
}