/***************************************************************************** * This file is part of Rinzo * * Author: Claudio Cancinos * WWW: https://sourceforge.net/projects/editorxml * Copyright (C): 2008, Claudio Cancinos * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; If not, see <http://www.gnu.org/licenses/> ****************************************************************************/ package ar.com.tadp.xml.rinzo.jdt.actions; import org.eclipse.core.runtime.IStatus; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaConventions; import ar.com.tadp.xml.rinzo.core.ThreadExecutorService; import ar.com.tadp.xml.rinzo.jdt.JDTUtils; /** * Abstract class for actions over a candidate class name selected in the * editor. * * @author ccancinos */ public abstract class ClassNameSelectedAction extends SelectionAction { public boolean isEnabled() { IStatus status = JavaConventions.validateJavaTypeName(this.getSelection()); if (status.getCode() == IStatus.OK || status.getSeverity() == IStatus.WARNING) { IType type = JDTUtils.findType(this.getSelection()); return this.getEnableValue(type); } return false; } /** * Es la condici�n para determinar si se habilita o no la acci�n */ protected abstract boolean getEnableValue(IType type); public void initialize() { ThreadExecutorService.getInstance().execute(new Runnable() { public void run() { JDTUtils.findType("java.lang.Object"); } }); } }