View Javadoc

1   //Copyright (C) 2004, Brian Enigma <enigma at netninja.com>
2   //This file is part of MagicCodes.
3   //
4   //MagicCodes is free software; you can redistribute it and/or modify
5   //it under the terms of the GNU General Public License as published by
6   //the Free Software Foundation; either version 2 of the License, or
7   //(at your option) any later version.
8   //
9   //MagicCodes is distributed in the hope that it will be useful,
10  //but WITHOUT ANY WARRANTY; without even the implied warranty of
11  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  //GNU General Public License for more details.
13  //
14  //You should have received a copy of the GNU General Public License
15  //along with Foobar; if not, write to the Free Software
16  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  package org.ninjasoft.magiccodes.plugins;
18  
19  /***
20   * The plugin interface
21   * @author enigma
22   */
23  public interface Plugin {
24      /*** Return a simple one or two word name describing this plugin */
25      public String getName();
26      /*** Return a complete description of this plugin */
27      public String getDescription();
28      /*** Returns whether this plugin uses the key at all */
29      public boolean usesKey();
30      /*** Does this plugin actually transform stuff, or is it simply informational.  Informational
31          plugins ALWAYS have text mode output. */
32      public boolean isInformational();
33      /*** Take input data and spit out output data */
34      public int[] doAction(int[] in, int[] key);
35  }