/** * This file is a part of EpnTAPClient. * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer. * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie. * * This program is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, or (at your option) any later * version. This program 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 General Public License for more details. You should have received a copy of * the GNU General Public License along with this program. If not, see * . */ package eu.omp.irap.vespa.epntapclient.model; import java.util.HashMap; import java.util.Map; import java.util.StringJoiner; /** * An object representing a TAP service, extracted from a VOTable. * * @author N. Jourdane */ public class TAPService { /** The map containing the services properties, as (key, value). */ private Map map = new HashMap<>(); /** * Method constructor */ public TAPService() { map = new HashMap<>(); } /** * @param key The key of the property to set. * @param value The value of the property to set. */ public void setProperty(String key, Object value) { map.put(key, value); } /** * @param key The key of the property to get. */ public void getProperty(String key) { map.get(key); } /** * @return The list of all the keys for this service. */ public String[] getKeys() { return map.keySet().toArray(new String[0]); } /** * @return An array containing all the values, sorted as the same order as the values were * inserted. */ public Object[] getValuesArray() { return map.values().toArray(); } @Override public String toString() { StringJoiner joiner = new StringJoiner("\n"); //$NON-NLS-1$ if (map.size() == 0) { return null; } for (Map.Entry entry : map.entrySet()) { joiner.add(entry.getKey() + ": " + entry.getValue()); //$NON-NLS-1$ } return joiner.toString(); } }