[Bug292967] Second part of request coalescing + unit tests + minor fixes.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / request / TmfEventRequest.java
index 678125cf36e6c17670d6515d4ccb587bd06647eb..742d978ff3c6bbb7d1236e9a0b1052e0a3e4c941 100644 (file)
@@ -20,7 +20,7 @@ import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
  * <p>
  * Implement me. Please.
  */
-public class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> {
+public abstract class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> implements ITmfEventRequest<T> {
 
     // ------------------------------------------------------------------------
     // Attributes
@@ -35,14 +35,14 @@ public class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> {
     /**
      * @param range
      */
-    public TmfEventRequest(Class<? extends TmfEvent> dataType) {
+    public TmfEventRequest(Class<T> dataType) {
         this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE);
     }
 
     /**
      * @param range
      */
-    public TmfEventRequest(Class<? extends TmfEvent> dataType, TmfTimeRange range) {
+    public TmfEventRequest(Class<T> dataType, TmfTimeRange range) {
         this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE);
     }
 
@@ -50,7 +50,7 @@ public class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> {
      * @param range
      * @param nbRequested
      */
-    public TmfEventRequest(Class<? extends TmfEvent> dataType, TmfTimeRange range, int nbRequested) {
+    public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) {
         this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE);
     }
     
@@ -59,11 +59,20 @@ public class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> {
      * @param nbRequested
      * @param blockSize Size of the largest blocks expected
      */
-    public TmfEventRequest(Class<? extends TmfEvent> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
+    public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
        super(dataType, 0, nbRequested, blockSize);
        fRange = range;
     }
 
+    @Override
+    public boolean equals(Object other) {
+       if (other instanceof TmfEventRequest<?>) {
+               TmfEventRequest<?> request = (TmfEventRequest<?>) other;
+               return super.equals(other) && request.fRange.equals(fRange);
+       }
+       return false;
+    }
+
     // ------------------------------------------------------------------------
     // Accessors
     // ------------------------------------------------------------------------
This page took 0.024123 seconds and 5 git commands to generate.