summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/util/FileNameGenerator.java
blob: 702df62b80abf5f167e94be91dccb73df80b2218 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package de.danoeh.antennapod.util;

import java.util.Arrays;

/** Generates valid filenames for a given string. */
public class FileNameGenerator {
	
	private static final char[] ILLEGAL_CHARACTERS = { '/', '\\', '?', '%',
			'*', ':', '|', '"', '<', '>' };
	static {
		Arrays.sort(ILLEGAL_CHARACTERS);
	}
	
	private FileNameGenerator() {

	}

	/**
	 * This method will return a new string that doesn't contain any illegal
	 * characters of the given string.
	 */
	public static String generateFileName(String string) {
		StringBuilder builder = new StringBuilder();
		for (int i = 0; i < string.length(); i++) {
			char c = string.charAt(i);
			if (Arrays.binarySearch(ILLEGAL_CHARACTERS, c) < 0) {
				builder.append(c);
			}
		}
		return builder.toString().replaceFirst("  *$","");
	}

	public static long generateLong(final String str) {
		return str.hashCode();
	}
}