package fr.jcgay.notification.configuration;
import com.google.auto.value.AutoValue;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.Set;
import static com.google.common.base.Preconditions.checkNotNull;
@AutoValue
public abstract class ChosenNotifiers {
private static final String SEPARATOR = ",";
public abstract String primary();
public abstract Set<String> secondary();
ChosenNotifiers() {
// prevent external subclasses
}
public static ChosenNotifiers from(String notifier) {
checkNotNull(notifier);
if (!notifier.contains(SEPARATOR)) {
return new AutoValue_ChosenNotifiers(notifier, Collections.<String>emptySet());
}
String[] notifiers = notifier.split(SEPARATOR);
LinkedHashSet<String> secondary = new LinkedHashSet<String>();
for (int i = 1; i < notifiers.length; i++) {
secondary.add(notifiers[i]);
}
return new AutoValue_ChosenNotifiers(notifiers[0], secondary);
}
}