001package arez.spy;
002
003import javax.annotation.Nonnull;
004
005/**
006 * A representation of a task instance exposed to spy framework.
007 */
008public interface TaskInfo
009  extends ElementInfo
010{
011  /**
012   * Return true if the task is idle - not scheduled to run and not disposed.
013   *
014   * @return true if the task is idle.
015   */
016  boolean isIdle();
017
018  /**
019   * Return true if the task is scheduled to run.
020   *
021   * @return true if the task is scheduled to run.
022   */
023  boolean isScheduled();
024
025  /**
026   * Return the priority of the task.
027   *
028   * @return the priority of the task.
029   */
030  @Nonnull
031  Priority getPriority();
032}