View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  package org.opencastproject.scheduler.api;
22  
23  /**
24   * An in-memory construct to represent the state of a recording, and when it was last heard from.
25   */
26  public interface Recording {
27  
28    /**
29     * Gets the ID of the recording.
30     *
31     * @return The ID of the recording.
32     */
33    String getID();
34  
35    /**
36     * Sets the state of the recording, and updates the time it was last heard from.
37     *
38     * @param newState
39     *          The new state of the recording. This should be defined from
40     *          {@link org.opencastproject.scheduler.api.RecordingState}. This can be equal to the current one if the
41     *          goal is to update the timestamp.
42     * @see RecordingState
43     */
44    void setState(String newState);
45  
46    /**
47     * Gets the state of the recording.
48     *
49     * @return The state of the recording. This should be defined from
50     *         {@link org.opencastproject.scheduler.api.RecordingState}.
51     * @see RecordingState
52     */
53    String getState();
54  
55    /**
56     * Gets the time at which the recording last checked in.
57     *
58     * @return The number of milliseconds since 1970 when the recording last checked in.
59     */
60    Long getLastCheckinTime();
61  
62  }