edu.nrao.sss.model.project.scheduling
Interface Schedulable

All Known Implementing Classes:
SchedulingBlock

public interface Schedulable

Defines the capabilities expected of scheduling block implementations that can be used by the scheduler.

Author:
slovelan

Field Summary
static String NAME_SEPARATOR
           
static String OBSERVE_SCRIPT_NOT_FOUND
           
 
Method Summary
 TimeDuration calculateTimePerExecution()
          Returns the amount of time allocated for one execution of this scheduling block.
 boolean canBeScheduled()
          Returns true if there are no internal forces withen the ScheduleBlock to prevent scheduling such as prerequisites or invalid status.
 int getAuthorizedCount()
          Returns the total number of repetitions of this ScheduleBlock that were originally authorized.
 int getCompletedCount()
           
 String getCompleteName()
           
 List<Constraint> getConstraints()
          Returns a set of requirements that can be used to determine the success of a scheduling block under current conditions.
 EventSetStatus getExecutionStatus()
           
 TimeOfDayInterval getLstStartRange()
          Returns the range of allowable execution start times for this scheduling block, expressed in local sidereal time.
 String getName()
          Returns a short descriptive name for this scheduling block.
 TimeInterval getPreferredDateRange()
          Returns the preferred date range for execution of this scheduling block.
 List<Priority> getPriorities()
          Returns the set of priorities of the scheduling block.
 ProgBlock getProgramBlock()
          Returns the program block of which this scheduling block is a member of.
 String getProgramName()
           
 String getProjectName()
           
 String getProposalName()
           
 SchedulingType getType()
          Returns the particular method of scheduling that is appropriate for this ScheduleBlock.
 void setAuthorizedCount(int count)
           
 void setConstraints(List<Constraint> theConstraints)
          Sets the requirements that can be used to determine the success of a scheduling block under current conditions.
 void setLstStartRange(TimeOfDayInterval tInterval)
           
 void setName(String sName)
           
 void setPreferredDateRange(TimeInterval tInterval)
           
 void setPriorities(List<Priority> thePriorities)
          Sets the set of priorities of this scheduling block.
 void setType(SchedulingType st)
           
 String toObserveScript(Date startingTime)
          Returns a string representation of the observing script for one repetition of this scheduling block.
 

Field Detail

OBSERVE_SCRIPT_NOT_FOUND

static final String OBSERVE_SCRIPT_NOT_FOUND
See Also:
Constant Field Values

NAME_SEPARATOR

static final String NAME_SEPARATOR
See Also:
Constant Field Values
Method Detail

getConstraints

List<Constraint> getConstraints()
Returns a set of requirements that can be used to determine the success of a scheduling block under current conditions.

Returns:
a set of requirements that can be used to determine the success of this scheduling block under current conditions.

setConstraints

void setConstraints(List<Constraint> theConstraints)
Sets the requirements that can be used to determine the success of a scheduling block under current conditions.

Parameters:
theConstraints - a set of environmental and telescopes constraints such as recent calibration accuracies that can be used to determine the success of this scheduling block under current conditions.

getPriorities

List<Priority> getPriorities()
Returns the set of priorities of the scheduling block.

Returns:
the set of priorities for this ScheduleBlock.

setPriorities

void setPriorities(List<Priority> thePriorities)
Sets the set of priorities of this scheduling block.

Parameters:
thePriorities - a set of priorities representing the importance of this scheduling block with regard to a variety of criteria such as scientific rating, etc.

canBeScheduled

boolean canBeScheduled()
Returns true if there are no internal forces withen the ScheduleBlock to prevent scheduling such as prerequisites or invalid status.

Returns:
true if there are no internal conditions to prevent scheduling; false otherwise.

getType

SchedulingType getType()
Returns the particular method of scheduling that is appropriate for this ScheduleBlock.

Returns:
the SchedulingType.

setType

void setType(SchedulingType st)

getPreferredDateRange

TimeInterval getPreferredDateRange()
Returns the preferred date range for execution of this scheduling block. The returned interval is a copy of the one held internally by this block.

Returns:
the preferred date range for execution of this scheduling block.

setPreferredDateRange

void setPreferredDateRange(TimeInterval tInterval)

getLstStartRange

TimeOfDayInterval getLstStartRange()
Returns the range of allowable execution start times for this scheduling block, expressed in local sidereal time.

The returned range, which is guaranteed to be non-null, is the actual range held by this block, so changes made to it will be reflected in this object.

Returns:
the allowable LST range for beginning execution of this scheduling block.

setLstStartRange

void setLstStartRange(TimeOfDayInterval tInterval)

calculateTimePerExecution

TimeDuration calculateTimePerExecution()
Returns the amount of time allocated for one execution of this scheduling block.

The returned duration, which is guaranteed to be non-null, is the actual duration held by this block, so changes made to it will be reflected in this object.

Returns:
the amount of time allocated for one execution of this scheduling block.

getAuthorizedCount

int getAuthorizedCount()
Returns the total number of repetitions of this ScheduleBlock that were originally authorized.

Returns:
the total number of repetitions this ScheduleBlock should be scheduled for.

setAuthorizedCount

void setAuthorizedCount(int count)

getCompletedCount

int getCompletedCount()

getProgramBlock

ProgBlock getProgramBlock()
Returns the program block of which this scheduling block is a member of.

Returns:
the program block to which this scheduling block belongs.

toObserveScript

String toObserveScript(Date startingTime)
Returns a string representation of the observing script for one repetition of this scheduling block.

Parameters:
startingTime - the date the executor will be observing this scheduling block. If the startingHour is not null, the observe script will be returned with the times modified so that the script starts at the indicated time. If the startingHour is null, the observe script will be returned with the default starting time.

getName

String getName()
Returns a short descriptive name for this scheduling block.

Returns:
a short descriptive name for this scheduling block.

setName

void setName(String sName)

getProgramName

String getProgramName()

getProjectName

String getProjectName()

getProposalName

String getProposalName()

getCompleteName

String getCompleteName()

getExecutionStatus

EventSetStatus getExecutionStatus()


Copyright © 2009. All Rights Reserved.