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 import java.text.DecimalFormat; 20 21 /*** 22 * Plugin for performing ROT-N on text 23 * @author enigma 24 */ 25 public class RotN implements Plugin { 26 private DecimalFormat format = new DecimalFormat("00"); 27 public String getName() { 28 return "ROT-N"; 29 } 30 public String getDescription() { 31 return "Performs ROT-N text rotations"; 32 } 33 public boolean usesKey() { 34 return false; 35 } 36 public boolean isInformational() { 37 return true; 38 } 39 public int[] doAction(int[] in, int[] key) { 40 StringBuffer result = new StringBuffer(); 41 for (int rot=0; rot<=26; rot++) { 42 result.append("ROT-"); 43 result.append(format.format(rot)); 44 result.append(": "); 45 for (int i=0; i<in.length; i++) { 46 int c = in[i]; 47 if ((c >= 'a') && (c <= 'z')) 48 c = (c - 'a' + rot) % 26 + 'a'; 49 else if ((c >= 'A') && (c <= 'Z')) 50 c = (c - 'A' + rot) % 26 + 'A'; 51 else if ((c >= ' ') && (c <= '~')) 52 ; 53 else 54 c = 0; 55 result.append((char) c); 56 } 57 result.append("\n"); 58 } 59 int[] resultArray = new int[result.length()]; 60 for (int i=0; i<resultArray.length; i++) 61 resultArray[i] = result.charAt(i); 62 return resultArray; 63 } 64 65 }

This page was automatically generated by Maven