1 /*******************************************************************************
2 * Copyright (c) 2012 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.core
.event
;
15 import org
.eclipse
.linuxtools
.tmf
.core
.trace
.ITmfTrace
;
18 * The basic event structure in TMF. In its canonical form, a data item has:
21 * <li> a rank (order within the trace)
23 * <li> a source (reporting component)
25 * <li> a content (payload)
27 * For convenience, a free-form reference field is also provided. It could be
28 * used as e.g. a location marker (filename:lineno) to indicate where the event
33 * @author Francois Chouinard
40 public interface ITmfEvent
extends Cloneable
{
42 // ------------------------------------------------------------------------
44 // ------------------------------------------------------------------------
47 * Pre-defined event attributes
49 public static final String EVENT_FIELD_TIMESTAMP
= ":timestamp:"; //$NON-NLS-1$
50 public static final String EVENT_FIELD_SOURCE
= ":source:"; //$NON-NLS-1$
51 public static final String EVENT_FIELD_TYPE
= ":type:"; //$NON-NLS-1$
52 public static final String EVENT_FIELD_CONTENT
= ":content:"; //$NON-NLS-1$
53 public static final String EVENT_FIELD_REFERENCE
= ":reference:"; //$NON-NLS-1$
55 // ------------------------------------------------------------------------
57 // ------------------------------------------------------------------------
60 * @return the trace that 'owns' the event
62 public ITmfTrace
<?
> getTrace();
65 * @return the event rank within the parent trace
67 public long getRank();
70 * @return the event timestamp
72 public ITmfTimestamp
getTimestamp();
75 * @return the event source
77 public String
getSource();
80 * @return the event type
82 public ITmfEventType
getType();
85 * @return the event content
87 public ITmfEventField
getContent();
90 * @return the event reference
92 public String
getReference();
94 // ------------------------------------------------------------------------
96 // ------------------------------------------------------------------------
99 * @return a clone of the event
101 public ITmfEvent
clone();