package org.yajul.io.archiver; /** * Encodes document ids by replacing special characters with dashes and whitespace with * underscores. * User: Joshua Davis<br> * Date: Jul 21, 2005<br> * Time: 7:53:07 AM<br> */ public class DashAndUnderscoreEncoder implements IdEncoder { public String encode(Object id) { String fileName = id.toString(); char[] chars = fileName.toCharArray(); for (int i = 0; i < chars.length; i++) { char c = chars[i]; switch (c) { case '/': chars[i] = '-'; break; case '\\': chars[i] = '-'; break; case ' ': chars[i] = '_'; break; case '\t': chars[i] = '_'; break; case '\r': chars[i] = '_'; break; case '\n': chars[i] = '_'; break; default: if (Character.isISOControl(c)) chars[i] = '_'; break; } } fileName = new String(chars); return fileName; } }