/**
* 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();
}
}