LoremIpsum.java
/*
* Copyright 2000-2014 Namics AG. All rights reserved.
*/
package com.namics.commons.random.support;
import com.namics.commons.random.RandomData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
/**
* Helper Class to read lorem ipsum data.
*
* @author aschaefer
* @since 21.02.14 10:52
*/
public final class LoremIpsum {
private static final Logger LOG = LoggerFactory.getLogger(LoremIpsum.class);
public static final String TEST_DATA_FILE = "/testdata/lorem.txt";
private static final Set<String> words = new HashSet<>();
static {
readLorem();
}
public static Set<String> getWords() {
return words;
}
private static void readLorem() {
Pattern wordPattern = Pattern.compile("\\w+");
try (InputStream resource = RandomData.class.getResourceAsStream(TEST_DATA_FILE)) {
new BufferedReader(new InputStreamReader(resource, StandardCharsets.UTF_8))
.lines()
.map(wordPattern::matcher)
.forEach(matcher -> {
while (matcher.find()) {
words.add(matcher.group());
}
});
} catch (IOException e) {
LOG.warn("Load LoremIpsum failed", e);
}
}
private LoremIpsum() {
// hide
}
}