/* * Copyright 2003-2010 Tufts University Licensed under the * Educational Community License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ package edu.tufts.vue.dsm; /** * The Data Source Manager is a high-level construct. For a caller, the manager * returns a particular data source or all and allows for adding and removing * data sources. * * [This may change] The refresh and save operations are for synchronization with a * store. The safest approach is to call refresh() then another method. Similarly, * if the method you are calling is add() or remove(), then call save(). * * There is a mapping of graphics to various types. This interface provides access * to the graphics / icons, by type. */ public interface DataSourceManager { public DataSource[] getDataSources(); public DataSource getDataSource(org.osid.shared.Id repositoryId); public void add(DataSource dataSource); public void remove(org.osid.shared.Id dataSourceId); public org.osid.repository.Repository[] getIncludedRepositories(); public DataSource[] getIncludedDataSources(); public void save(); public java.awt.Image getImageForAssetType(org.osid.shared.Type assetType); public java.awt.Image getImageForSearchType(org.osid.shared.Type searchType); public java.awt.Image getImageForRepositoryType(org.osid.shared.Type repositoryType); public void addDataSourceListener(edu.tufts.vue.dsm.DataSourceListener listener) ; public void removeDataSourceListener(edu.tufts.vue.dsm.DataSourceListener listener); //public void notifyDataSourceListeners(); }