tmf: Avoid hanging when waiting on a cancelled analysis
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / trace / ITmfContext.java
index 2d7aed53660aa126178d8ab057bcc5dc29299eca..f3b526e117e2771fcc5eaea1cadaaadf3ba175a4 100644 (file)
@@ -1,61 +1,64 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010, 2012 Ericsson
- * 
+ * Copyright (c) 2009, 2013 Ericsson
+ *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
  * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *   Francois Chouinard - Initial API and implementation
  *   Francois Chouinard - Updated as per TMF Trace Model 1.0
+ *   Patrick Tasse - Updated for removal of context clone
  *******************************************************************************/
 
 package org.eclipse.linuxtools.tmf.core.trace;
 
+import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
+
 /**
- * <b><u>ITmfContext</u></b>
- * <p>
  * The basic trace context structure in TMF. The purpose of the context is to
- * associate a trace location to an event of a specific rank (order).
+ * associate a trace location to an event at a specific rank (order).
  * <p>
  * The context should be sufficient to allow the trace to position itself so
- * that performing a trace read operation will yield the corresponding event.
+ * that performing a trace read operation will yield the corresponding 'nth'
+ * event.
+ *
+ * @version 1.0
+ * @author Francois Chouinard
+ *
+ * @see ITmfLocation
  */
-public interface ITmfContext extends Cloneable {
+public interface ITmfContext {
 
     // ------------------------------------------------------------------------
     // Constants
     // ------------------------------------------------------------------------
 
-    /**
-     * The initial context event rank, before anything is read from the trace
-     */
-    public long INITIAL_RANK = -1L;
-
     /**
      * The unknown event rank
      */
-    public long UNKNOWN_RANK = -2L;
+    public long UNKNOWN_RANK = -1L;
 
     // ------------------------------------------------------------------------
     // Getters
     // ------------------------------------------------------------------------
 
     /**
-     * @return the rank of the event referred to by the context
+     * @return the rank of the event at the context location
      */
-    public long getRank();
+    long getRank();
 
     /**
-     * @return the location of the event referred to by the context
+     * @return the location of the event at the context rank
+     * @since 3.0
      */
-    public ITmfLocation<? extends Comparable<?>> getLocation();
+    ITmfLocation getLocation();
 
     /**
      * @return indicates if the context rank is valid (!= UNKNOWN_RANK)
      */
-    public boolean hasValidRank();
+    boolean hasValidRank();
 
     // ------------------------------------------------------------------------
     // Operations
@@ -63,31 +66,23 @@ public interface ITmfContext extends Cloneable {
 
     /**
      * @param location the new location
+     * @since 3.0
      */
-    public void setLocation(ITmfLocation<? extends Comparable<?>> location);
+    void setLocation(ITmfLocation location);
 
     /**
      * @param rank the new rank
      */
-    public void setRank(long rank);
+    void setRank(long rank);
 
     /**
      * Increment the context rank
      */
-    public void increaseRank();
+    void increaseRank();
 
     /**
      * Cleanup hook
      */
-    public void dispose();
-
-    // ------------------------------------------------------------------------
-    // Cloneable
-    // ------------------------------------------------------------------------
-
-    /**
-     * @return a clone of the context
-     */
-    public ITmfContext clone();
+    void dispose();
 
 }
This page took 0.026153 seconds and 5 git commands to generate.