blob: 2741862d8b72e4d5e057ec3971fe44190a2716c0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2005 Sybase, Inc. and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.facesconfig.ui.pageflow.command;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.CommandStack;
/**
* Before the command stack called execute to do the actual model modification,
* it will call the command's IPreExecuteCommand inteface to check the command
* can be execute or not.
*
*
* @author Xiao-guang Zhang
*/
public class PreExecuteCommandStack extends CommandStack {
/**
*
*/
public PreExecuteCommandStack() {
super();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.commands.CommandStack#execute(org.eclipse.gef.commands.Command)
*/
public void execute(Command command) {
if (command == null || !command.canExecute()) {
return;
}
if (command instanceof IPreExecuteCommand) {
if (!((IPreExecuteCommand) command).preExecute()) {
return;
}
}
super.execute(command);
}
}