tmf: Mark TmfTraceManager @NonNullByDefault
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / trace / ITmfTrace.java
index 56b7ba45a7f38bc103d448cce86559b878eb0e95..667fc069bb031e7a987b5ea7d2c37c1d2fa39573 100644 (file)
@@ -16,6 +16,7 @@
 
 package org.eclipse.tracecompass.tmf.core.trace;
 
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IStatus;
@@ -26,6 +27,7 @@ import org.eclipse.tracecompass.tmf.core.component.ITmfEventProvider;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
 import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.tracecompass.tmf.core.filter.ITmfFilter;
 import org.eclipse.tracecompass.tmf.core.synchronization.ITmfTimestampTransform;
 import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
@@ -253,7 +255,7 @@ public interface ITmfTrace extends ITmfEventProvider {
      *
      * @return An iterable view of the analysis modules
      */
-    @NonNull Iterable<IAnalysisModule> getAnalysisModules();
+    @NonNull Iterable<@NonNull IAnalysisModule> getAnalysisModules();
 
     // ------------------------------------------------------------------------
     // Aspect getters
@@ -267,7 +269,7 @@ public interface ITmfTrace extends ITmfEventProvider {
      *
      * @return The event aspects for this trace
      */
-    @NonNull Iterable<ITmfEventAspect> getEventAspects();
+    @NonNull Iterable<@NonNull ITmfEventAspect<?>> getEventAspects();
 
     // ------------------------------------------------------------------------
     // Trace characteristics getters
@@ -428,4 +430,21 @@ public interface ITmfTrace extends ITmfEventProvider {
      */
     @NonNull ITmfTimestamp createTimestamp(long ts);
 
+    /**
+     * Build a new trace context.
+     *
+     * @param selection
+     *            The selected time range
+     * @param windowRange
+     *            The visible window's time range
+     * @param editorFile
+     *            The file representing the selected editor
+     * @param filter
+     *            The currently applied filter. 'null' for none.
+     * @return The newly created context
+     * @since 2.0
+     */
+    default @NonNull TmfTraceContext createTraceContext(@NonNull TmfTimeRange selection, @NonNull TmfTimeRange windowRange, @Nullable IFile editorFile, @Nullable ITmfFilter filter) {
+        return new TmfTraceContext(selection, windowRange, editorFile, filter);
+    }
 }
This page took 0.026187 seconds and 5 git commands to generate.