1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 package xdc.runtime;
21
22 /*!
23 * ======== ITimestampProvider ========
24 * Timestamp provider interface
25 *
26 * This interface is implemented by platform-specific modules that
27 * "provide" underlying timestamp services for the
28 * `{@link xdc.runtime.Timestamp}` module.
29 *
30 * Only the `{@link xdc.runtime.Timestamp}` module and the
31 * `{@link xdc.runtime.ITimestampClient}` interface should be directly
32 * referenced by platform-independent applications.
33 *
34 * This interface is part of a design pattern that includes the
35 * `ITimestampClient` interface and the `Timestamp` module. This pattern
36 * allows client code to:
37 * @p(blist)
38 * - use the platform-independent interfaces provided by either
39 * `ITimestampClient` and `Timestamp` and remain 100% portable
40 * - optionally leverage platform-specific capabilities
41 * of any module that implements `ITimestampProvider` and still always
42 * have access to the platform-independent methods specified by
43 * `ITimestampClient` (because `ITimestampProvider` inherits from
44 * `ITimestampClient`)
45 * @p
46 * This pattern is in contrast to other "provider" interfaces that exist only
47 * to specify the methods necessary to enable "higher-level" modules; client
48 * code *never* accesses these provider interfaces directly, clients always
49 * only use the higher-level modules.
50 */
51 interface ITimestampProvider inherits ITimestampClient {
52 }
53 54 55
56