/******************************************************************************* * Copyright (c) 2015 GK Software AG 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: * Stephan Herrmann - Initial API and implementation *******************************************************************************/ package org.eclipse.jdt.internal.ui.javaeditor; import org.eclipse.jface.action.Action; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewer; /** * Action to add external null annotations from a ClassFileEditor. * * @see <a href="https://bugs.eclipse.org/458201">[null] Offer new command "Annotate" on * ClassFileEditor</a> * @since 3.11 */ public class AnnotateClassFileAction extends Action { private final ClassFileEditor fEditor; protected AnnotateClassFileAction(ClassFileEditor editor) { super(JavaEditorMessages.AnnotateClassFile_label); fEditor= editor; } @Override public void run() { ISourceViewer viewer= fEditor.getViewer(); if (viewer instanceof SourceViewer) { SourceViewer sourceViewer= (SourceViewer) viewer; if (sourceViewer.canDoOperation(JavaSourceViewer.ANNOTATE_CLASS_FILE)) sourceViewer.doOperation(JavaSourceViewer.ANNOTATE_CLASS_FILE); } } }