package eu.stratosphere.sopremo.packages; public class DefaultNameChooser implements NameChooser { /** * */ private static final long serialVersionUID = -1208879313724454299L; private final int[] preferredOrder; public DefaultNameChooser() { this(3, 0, 1, 2); } public DefaultNameChooser(final int... preferredOrder) { this.preferredOrder = preferredOrder; } @Override public String choose(final String[] nouns, final String[] verbs, final String[] adjectives, final String[] prepositions) { final String[][] names = { nouns, verbs, adjectives, prepositions }; for (final int pos : this.preferredOrder) { final String value = this.firstOrNull(names[pos]); if (value != null) return value; } return null; } private String firstOrNull(final String[] names) { return names == null || names.length == 0 ? null : names[0]; } }