public void addAlgorithm(IScoredScan scan) { String key = scan.getAlgorithm(); if (m_Scores.containsKey(key)) { throw new IllegalStateException("duplicate algorithm " + key); } else { m_Scores.put(key, scan); } }
/** * true if some match is scored * * @return as above */ @Override public boolean isMatchPresent() { for (IScoredScan scan : m_Scores.values()) { if (scan.isMatchPresent()) return true; } return false; }
/** * if present return a IScoredScan for an algorithm * * @param algorithm * @return either data of blank if null */ @Override public IScoredScan getScoredScan(final String algorithm) { return m_Scores.get(algorithm); }
/** * return a list of all algorithm names * * @return !null array */ @Override public String[] getScoringAlgorithms() { String[] strings = m_Scores.keySet().toArray(new String[0]); Arrays.sort(strings); return strings; }