1 package jp.sourceforge.stigmata.ui.swing;
8 import java.io.FileWriter;
9 import java.io.IOException;
10 import java.io.PrintWriter;
11 import java.util.HashMap;
14 import jp.sourceforge.stigmata.Birthmark;
15 import jp.sourceforge.stigmata.BirthmarkSet;
19 * @author Haruaki TAMADA
20 * @version $Revision$ $Date$
22 public class ClassNameObfuscator{
23 private Map<String, String> nameMapping = new HashMap<String, String>();
25 public void outputNameMappings(File file) throws IOException{
26 PrintWriter out = null;
28 out = new PrintWriter(new FileWriter(file));
29 for(String oldName: nameMapping.keySet()){
30 String newName = nameMapping.get(oldName);
43 public BirthmarkSet obfuscateClassName(BirthmarkSet orig){
44 String newName = nameMapping.get(orig.getName());
46 newName = String.format("C%04d", new Object[] { new Integer(nameMapping.size() + 1), });
47 nameMapping.put(orig.getName(), newName);
50 BirthmarkSet newSet = new BirthmarkSet(newName, orig.getLocation());
51 for(Birthmark birthmark: orig){
52 newSet.addBirthmark(birthmark);