001 package edu.nrao.sss.model.resource; 002 003 import java.util.List; 004 import java.util.Set; 005 006 /** 007 * A provider of {@link ReceiverBand receivers}. 008 * <p> 009 * <b>Version Info:</b> 010 * <table style="margin-left:2em"> 011 * <tr><td>$Revision$</td></tr> 012 * <tr><td>$Date$</td></tr> 013 * <tr><td>$Author$</td></tr> 014 * </table></p> 015 * 016 * @author David M. Harland 017 * @since 2007-05-02 018 */ 019 public interface ReceiverProvider 020 { 021 /** 022 * Returns a list of all receivers held by this provider. 023 * 024 * @return a list of all receivers held by this provider. If the provider 025 * has no receivers the returned list will be empty. 026 * 027 * @throws RepositoryException if anything goes wrong while trying to fetch 028 * receivers from this provider. 029 */ 030 public Set<ReceiverBand> getReceivers(); 031 032 /** 033 * Returns a list of all the combinations of two or more receivers that 034 * may be used simultaneously. 035 * 036 * @return a list of all the combinations of two or more receivers that 037 * may be used simultaneously. 038 */ 039 public List<Set<ReceiverBand>> getValidReceiverCombinations(); 040 }