package jalview.datamodel.features; import java.util.HashMap; import java.util.Map; /** * A singleton to hold metadata about feature attributes, keyed by a unique * feature source identifier * * @author gmcarstairs * */ public class FeatureSources { private static FeatureSources instance = new FeatureSources(); private Map sources; /** * Answers the singleton instance of this class * * @return */ public static FeatureSources getInstance() { return instance; } private FeatureSources() { sources = new HashMap<>(); } /** * Answers the FeatureSource with the given unique identifier, or null if not * known * * @param sourceId * @return */ public FeatureSourceI getSource(String sourceId) { return sources.get(sourceId); } /** * Adds the given source under the given key. This will replace any existing * source with the same id, it is the caller's responsibility to ensure keys * are unique if necessary. * * @param sourceId * @param source */ public void addSource(String sourceId, FeatureSource source) { sources.put(sourceId, source); } }