001 package edu.nrao.sss.model.project.scheduling; 002 003 import java.util.List; 004 005 import edu.nrao.sss.model.resource.TelescopeConfiguration; 006 007 /** 008 * Represents a specific telescope configuration for the purposes of 009 * scheduling. 010 * @author slovelan 011 */ 012 013 public interface ProgBlock { 014 015 016 /** 017 * Returns a set of allowed telescope configurations for this program 018 * block. 019 * @return the telescope configurations that are acceptable for the program block. 020 */ 021 022 public List<TelescopeConfiguration> getAcceptableConfigurations(); 023 public void setAcceptableConfigurations( List<TelescopeConfiguration> configs ); 024 025 /** 026 * Returns a complete identifier for the program block. 027 * @return an identifier for the program block. 028 */ 029 030 public String getName(); 031 public void setName( String newName ); 032 033 034 /** 035 * Returns true if there is at least one scheduling block in the project 036 * that has been scheduled; false if there is nothing in the project that 037 * has been scheduled. 038 * @return true if the project is partially scheduled; false otherwise. 039 */ 040 041 public boolean isProjectPartiallyScheduled(); 042 043 044 045 046 }