/* * 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-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.openide.util.datatransfer; import java.io.IOException; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; /** Describes a type that can be created anew. * @see org.openide.nodes.Node#getNewTypes * @author Jaroslav Tulach * @version 0.10, Mar 19, 1998 */ public abstract class NewType extends Object implements HelpCtx.Provider { /** Display name for the creation action. This should be * presented as an item in a menu. * * @return the name of the action */ public String getName() { return NbBundle.getBundle (NewType.class).getString ("Create"); } /** Help context for the creation action. * @return the help context */ public HelpCtx getHelpCtx() { return org.openide.util.HelpCtx.DEFAULT_HELP; } /** Create the object. * @exception IOException if something fails */ public abstract void create () throws IOException; /* JST: Originally designed for dnd and it now uses getDropType () of a node. * * Create the object at a specific position. * The default implementation simply calls {@link #create()}. * Subclasses may * allow pastes to a specific index in their * children list (if the object has children indexed by integer). * * @param indx index to insert into, can be ignored if not supported * @throws IOException if something fails * public void createAt (int indx) throws IOException { create (); } */ }