/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.engine.bind; import java.util.List; import org.apache.commons.beanutils.Converter; import org.apache.commons.lang.StringUtils; import com.emc.sa.util.TextUtils; import com.google.common.base.Function; import com.google.common.collect.Lists; /** * Converter that convers a command separate list of strings into a * List<String>. * * String "a, b, c" -> List [a, b, c] * * @author Chris Dail */ public class CommaSeparatedListConverter implements Converter { @SuppressWarnings({ "rawtypes" }) @Override public Object convert(Class type, Object value) { final String string = value.toString(); final List<String> elements = TextUtils.parseCSV(string); return Lists.transform(elements, new StringTrimmerFunction()); } static class StringTrimmerFunction implements Function<String, String> { @Override public String apply(String input) { return StringUtils.trimToEmpty(input); } } }