200 }
201
202 /**
203 * Converts the filename to classname.
204 *
205 * @param filename filename to convert
206 * @return corresponding classname.
207 * @throws AssertionError if filename isn't valid filename for class file -
208 * {@link #isClassFile(String)}
209 */
210 public static String fileNameToClassName(String filename) {
211 assert isClassFile(filename);
212 // workaround for the class naming in jimage : /<module>/<class_name>
213 final char nameSeparator = '/';
214 int nameStart = filename.charAt(0) == nameSeparator
215 ? filename.indexOf(nameSeparator, 1) + 1
216 : 0;
217 return filename.substring(nameStart, filename.length() - CLASSFILE_EXT.length())
218 .replace(nameSeparator, '.');
219 }
220 }
|
200 }
201
202 /**
203 * Converts the filename to classname.
204 *
205 * @param filename filename to convert
206 * @return corresponding classname.
207 * @throws AssertionError if filename isn't valid filename for class file -
208 * {@link #isClassFile(String)}
209 */
210 public static String fileNameToClassName(String filename) {
211 assert isClassFile(filename);
212 // workaround for the class naming in jimage : /<module>/<class_name>
213 final char nameSeparator = '/';
214 int nameStart = filename.charAt(0) == nameSeparator
215 ? filename.indexOf(nameSeparator, 1) + 1
216 : 0;
217 return filename.substring(nameStart, filename.length() - CLASSFILE_EXT.length())
218 .replace(nameSeparator, '.');
219 }
220
221 public static String classNameToFileName(String classname) {
222 return classname.replace('.', '/')
223 .concat(CLASSFILE_EXT);
224 }
225 }
|