001package conexp.fx.core.xml;
002
003/*
004 * #%L
005 * Concept Explorer FX
006 * %%
007 * Copyright (C) 2010 - 2023 Francesco Kriegel
008 * %%
009 * This program is free software: you can redistribute it and/or modify
010 * it under the terms of the GNU General Public License as
011 * published by the Free Software Foundation, either version 3 of the
012 * License, or (at your option) any later version.
013 * 
014 * This program is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 * 
019 * You should have received a copy of the GNU General Public
020 * License along with this program.  If not, see
021 * <http://www.gnu.org/licenses/gpl-3.0.html>.
022 * #L%
023 */
024
025
026import java.util.Arrays;
027import java.util.List;
028
029public final class Key {
030
031  public static final String[] toArray(String string) {
032    return string.split("\\.");
033  }
034
035  public static final String[] toArray(List<String> list) {
036    return list.toArray(new String[] {});
037  }
038
039  public static final List<String> toList(String string) {
040    return toList(toArray(string));
041  }
042
043  public static final List<String> toList(String[] array) {
044    return Arrays.asList(array);
045  }
046
047  public static final String toString(String... array) {
048    return toString(toList(array));
049  }
050
051  public static final String toString(List<String> list) {
052    if (list.isEmpty())
053      return "";
054    String string = list.get(0);
055    for (int i = 1; i < list.size(); i++)
056      string += "." + list.get(i);
057    return string;
058  }
059
060  public static final String toString(String firstKey, String... keys) {
061    String string = firstKey;
062    for (String key : keys)
063      string += "." + key;
064    return string;
065  }
066}