Java tutorial
/* * Copyright 2015 Laurent Pellegrino * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.yfiton.api.parameter.converters; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.stream.Stream; /** * @author lpellegr */ public final class ListStringConverter implements Converter<List<String>> { @Override public List<String> convert(String parameterName, String parameterValue) { if (parameterValue.isEmpty()) { return ImmutableList.of(); } char[] chars = parameterValue.toCharArray(); ImmutableList.Builder<String> builder = ImmutableList.builder(); StringBuilder buffer = new StringBuilder(); for (int i = 0; i < chars.length; i++) { char c = chars[i]; if (c == ',') { builder.add(buffer.toString()); buffer.setLength(0); } else { buffer.append(c); } if (i == chars.length - 1) { if (c == ',') { buffer.setLength(0); } builder.add(buffer.toString()); } } return builder.build(); } }