/** * SlingBeans - NetBeans Sling plugin https://github.com/jkan997/SlingBeans * Licensed under Apache 2.0 license http://www.apache.org/licenses/LICENSE-2.0 */ package org.jkan997.slingbeans.nbactions.clipboard; import java.awt.event.ActionEvent; import org.jkan997.slingbeans.helper.LogHelper; import org.jkan997.slingbeans.nbactions.AbstractAction; import org.jkan997.slingbeans.nbtree.SlingNode; import org.jkan997.slingbeans.slingfs.FileSystem; import org.openide.awt.ActionID; import org.openide.awt.ActionRegistration; import org.openide.filesystems.FileStateInvalidException; import org.openide.util.Exceptions; @ActionID( category = "SlingFs", id = "org.jkan997.slingbeans.nbactions.clipboard.CopyAction") @ActionRegistration(asynchronous = true, displayName = "Copy node") public class CopyNodeAction extends AbstractAction { private SlingNode node; public CopyNodeAction(SlingNode node) { setActionName("Copy node"); this.node = node; } @Override public void actionPerformed(ActionEvent e) { if (this.node != null) { try { FileSystem fs = (FileSystem) this.node.getFileObject().getFileSystem(); fs.setClipboardContent(this.node.getPath(), true); } catch (FileStateInvalidException ex) { LogHelper.logError(ex); } } } }