1 10 package org.mmbase.util.transformers; 11 12 import java.io.Reader ; 13 import java.io.Writer ; 14 15 import org.mmbase.util.logging.*; 16 17 24 25 public class Rot13 extends ReaderTransformer implements CharTransformer { 26 27 private static final Logger log = Logging.getLoggerInstance(Rot13.class); 28 29 protected Writer rot13(Reader r, Writer w) { 30 try { 31 int c = r.read(); 32 while (c != -1) { 33 if (c >= 'a' && c <= 'm') { 34 c += 13; 35 } else if (c >= 'n' && c <= 'z') { 36 c -= 13; 37 } else if (c >= 'A' && c <= 'M') { 38 c += 13; 39 } else if (c >= 'A' && c <= 'Z') { 40 c -= 13; 41 } 42 w.write(c); 43 c = r.read(); 44 } 45 } catch (java.io.IOException ioe) { 46 log.error(ioe); 47 } 48 return w; 49 } 50 51 public Writer transform(Reader r, Writer w) { 52 return rot13(r, w); 53 } 54 55 58 public Writer transformBack(Reader r, Writer w) { 59 return rot13(r, w); 60 } 61 62 public String toString() { 63 return "ROT-13"; 64 } 65 } 66 | Popular Tags |