1 /**
2 * Copyright (C) 2010-14 pvmanager developers. See COPYRIGHT.TXT
3 * All rights reserved. Use is subject to license terms. See LICENSE.TXT
4 */
5 package org.epics.vtype;
6
7 import org.epics.util.time.Timestamp;
8
9 /**
10 * Time information.
11 *
12 * @author carcassi
13 */
14 public interface Time {
15
16 /**
17 * The timestamp of the value, typically indicating when it was
18 * generated. If never connected, it returns the
19 * time when it was last determined that no connection was made.
20 *
21 * @return the timestamp
22 */
23 Timestamp getTimestamp();
24
25 /**
26 * Returns a user defined tag, that can be used to store extra
27 * time information, such as beam shot.
28 *
29 * @return the user tag
30 */
31 Integer getTimeUserTag();
32
33 /**
34 * Returns a data source specific flag to indicate whether the time
35 * information should be trusted. Typical cases are when records
36 * were not processes and the timestamp has a zero time.
37 *
38 * @return true if the time information is valid
39 */
40 boolean isTimeValid();
41 }