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 }