Here you can find the source of splitLists(String s)
Parameter | Description |
---|---|
s | a parameter |
public static List<String> splitLists(String s)
//package com.java2s; /*---------------------------------------------------------------------------- This file is part of deegree, http://deegree.org/ Copyright (C) 2001-2009 by:/*from w w w . j a va2s . c o m*/ Department of Geography, University of Bonn and lat/lon GmbH This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact information: lat/lon GmbH Aennchenstr. 19, 53177 Bonn Germany http://lat-lon.de/ Department of Geography, University of Bonn Prof. Dr. Klaus Greve Postfach 1147, 53001 Bonn Germany http://www.geographie.uni-bonn.de/deegree/ e-mail: info@deegree.org ----------------------------------------------------------------------------*/ import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { /** * Splits a parameter list thats encoded according to ISO 19143, 5.5 * * @param s * @return */ public static List<String> splitLists(String s) { List<String> values = null; if (s.startsWith("(")) { if (!s.endsWith(")")) { String msg = "KVP parameter list is not well-formed: '" + s + "'."; throw new IllegalArgumentException(msg); } values = new ArrayList<String>(); int pos = 1; StringBuilder sb = new StringBuilder(); while (pos < s.length()) { char c = s.charAt(pos); if (c == ')') { values.add(sb.toString()); sb = new StringBuilder(); pos++; if (pos < s.length()) { if (s.charAt(pos) != '(') { String msg = "KVP parameter list is not well-formed: '" + s + "'."; throw new IllegalArgumentException(msg); } } } else { sb.append(c); } pos++; } } else { values = Collections.singletonList(s); } return values; } }