com.lowagie.toolbox

## Class AbstractTool

- java.lang.Object
- - com.lowagie.toolbox.AbstractTool

All Implemented Interfaces:
  java.awt.event.ActionListener, java.util.EventListener

Direct Known Subclasses:
  Add3D, Bookmarks2XML, Burst, CompressDecompressPageContent, Concat, ConcatN, Decrypt, Divide, DvdCover, Encrypt, ExtractAttachments, Handouts, HtmlBookmarks, ImageXRefViewer, InspectPDF, KnitTiff, Normalize, NUp, PhotoAlbum, RemoveLaunchApplication, ReversePages, SelectedPages, Split, Tiff2Pdf, Txt2Pdf, Watermarker, XML2Bookmarks

    public abstract class AbstractTool
    extends java.lang.Object
    implements java.awt.event.ActionListener

Every iText tool has to extend this abstract class.

Since:
  2.1.1 (imported from itexttoolbox project)
Version:
  $Id$
Author:
  not attributable

### Field Summary

Fields
`protected java.util.ArrayList<AbstractArgument>` `arguments` The list of arguments needed by the tool.
`private java.awt.Desktop` `awtdesktop` awtdesktop
`protected javax.swing.JInternalFrame` `internalFrame` The internal frame of the tool.
`static int` `MENU_EXECUTE` a menu option
`static int` `MENU_EXECUTE_PRINT` a menu option
`static int` `MENU_EXECUTE_PRINT_SILENT` a menu option
`static int` `MENU_EXECUTE_SHOW` a menu option
`private javax.swing.JMenuBar` `menubar`
`protected int` `menuoptions` Execute menu options
`static java.util.ArrayList<java.lang.String>` `versionsarray` An array with the plugin_versions of the tool.

### Constructor Summary

Constructors
Constructor and Description
`AbstractTool()` AbstractTool

### Method Summary

Methods
`void` `actionPerformed(java.awt.event.ActionEvent evt)`
`protected static void` `addVersion(java.lang.String version)` Add the version of the plugin to the plugin_versions array.
`protected abstract void` `createFrame()` Creates the internal frame.
`abstract void` `execute()` Executes the tool (in most cases this generates a PDF file).
`private java.lang.String` `getArgs()` Gets the current arguments of the tool.
`java.util.ArrayList<AbstractArgument>` `getArguments()` Gets the arguments.
`protected abstract java.io.File` `getDestPathPDF()` Gets the PDF file that should be generated (or null if the output isn't a PDF file).
`javax.swing.JInternalFrame` `getInternalFrame()` Returns the internal frame.
`javax.swing.JMenuBar` `getMenubar()` Gets the menubar.
`java.lang.String` `getUsage()` Gets the usage of the tool.
`java.lang.Object` `getValue(java.lang.String name)` Gets the value of a given argument.
`void` `setArguments(java.util.ArrayList<AbstractArgument> arguments)` Sets the arguments.
`void` `setInternalFrame(javax.swing.JInternalFrame internalFrame)` Sets the internal frame.
`void` `setMainArguments(java.lang.String[] args)` Sets the arguments.
`void` `setMenubar(javax.swing.JMenuBar menubar)`
`abstract void` `valueHasChanged(AbstractArgument arg)` Indicates that the value of an argument has changed.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### versionsarray

    public static java.util.ArrayList<java.lang.String> versionsarray

An array with the plugin_versions of the tool.

#### internalFrame

    protected javax.swing.JInternalFrame internalFrame

The internal frame of the tool.

#### arguments

    protected java.util.ArrayList<AbstractArgument> arguments

The list of arguments needed by the tool.

#### menuoptions

    protected int menuoptions

Execute menu options

#### MENU_EXECUTE

    public static final int MENU_EXECUTE

a menu option

See Also:
  Constant Field Values

#### MENU_EXECUTE_SHOW

    public static final int MENU_EXECUTE_SHOW

a menu option

See Also:
  Constant Field Values

#### MENU_EXECUTE_PRINT

    public static final int MENU_EXECUTE_PRINT

a menu option

See Also:
  Constant Field Values

#### MENU_EXECUTE_PRINT_SILENT

    public static final int MENU_EXECUTE_PRINT_SILENT

a menu option

See Also:
  Constant Field Values

#### awtdesktop

    private java.awt.Desktop awtdesktop

awtdesktop

#### menubar

    private javax.swing.JMenuBar menubar

### Constructor Detail

#### AbstractTool

    public AbstractTool()

AbstractTool

### Method Detail

#### setArguments

    public void setArguments(java.util.ArrayList<AbstractArgument> arguments)

Sets the arguments.

Parameters:
  `arguments` - The arguments to set.

#### setMainArguments

    public void setMainArguments(java.lang.String[] args)

Sets the arguments.

Parameters:
  `args` - the arguments as String-array.

#### getArguments

    public java.util.ArrayList<AbstractArgument> getArguments()

Gets the arguments.

Returns:
  Returns the arguments.

#### getValue

    public java.lang.Object getValue(java.lang.String name)
                              throws java.lang.InstantiationException

Gets the value of a given argument.

Parameters:
  `name` - the name of the argument
Returns:
  the value of an argument as an Object.
Throws:
  `java.lang.InstantiationException`

#### setInternalFrame

    public void setInternalFrame(javax.swing.JInternalFrame internalFrame)

Sets the internal frame.

Parameters:
  `internalFrame` - The internalFrame to set.

#### setMenubar

    public void setMenubar(javax.swing.JMenuBar menubar)

#### getInternalFrame

    public javax.swing.JInternalFrame getInternalFrame()

Returns the internal frame. Creates one if it's null.

Returns:
  Returns the internalFrame.

#### getMenubar

    public javax.swing.JMenuBar getMenubar()

Gets the menubar.

Returns:
  a menubar for this tool

#### getUsage

    public java.lang.String getUsage()

Gets the usage of the tool.

Returns:
  a String describing how to use the tool.

#### getArgs

    private java.lang.String getArgs()

Gets the current arguments of the tool.

Returns:
  a String with the list of arguments and their values.

#### actionPerformed

    public void actionPerformed(java.awt.event.ActionEvent evt)

Specified by:
  `actionPerformed` in interface `java.awt.event.ActionListener`
Parameters:
  `evt` - ActionEvent
See Also:
  `ActionListener.actionPerformed(java.awt.event.ActionEvent)`

#### getDestPathPDF

    protected abstract java.io.File getDestPathPDF()
                                            throws java.lang.InstantiationException

Gets the PDF file that should be generated (or null if the output isn't a PDF file).

Returns:
  the PDF file that should be generated
Throws:
  `java.lang.InstantiationException`

#### createFrame

    protected abstract void createFrame()

Creates the internal frame.

#### execute

    public abstract void execute()

Executes the tool (in most cases this generates a PDF file).

#### valueHasChanged

    public abstract void valueHasChanged(AbstractArgument arg)

Indicates that the value of an argument has changed.

Parameters:
  `arg` - the argument that has changed

#### addVersion

    protected static void addVersion(java.lang.String version)

Add the version of the plugin to the plugin_versions array.

Parameters:
  `version` - the version to add.