Monster merge from the integration branch. Still some problems left and JUnits failing.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / request / TmfEventRequest.java
1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.tmf.request;
14
15 import org.eclipse.linuxtools.tmf.event.TmfEvent;
16 import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
17
18 /**
19 * <b><u>TmfEventRequest</u></b>
20 * <p>
21 * Implement me. Please.
22 */
23 public abstract class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> implements ITmfEventRequest<T> {
24
25 // ------------------------------------------------------------------------
26 // Attributes
27 // ------------------------------------------------------------------------
28
29 private final TmfTimeRange fRange; // The requested events time range
30
31 // ------------------------------------------------------------------------
32 // Constructors
33 // ------------------------------------------------------------------------
34
35 /**
36 * @param range
37 */
38 public TmfEventRequest(Class<T> dataType) {
39 this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT);
40 }
41
42 public TmfEventRequest(Class<T> dataType, ExecutionType execType) {
43 this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
44 }
45
46 /**
47 * @param range
48 */
49 public TmfEventRequest(Class<T> dataType, TmfTimeRange range) {
50 this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT);
51 }
52
53 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, ExecutionType execType) {
54 this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
55 }
56
57 /**
58 * @param range
59 * @param nbRequested
60 */
61 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) {
62 this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT);
63 }
64
65 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, ExecutionType execType) {
66 this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, execType);
67 }
68
69 /**
70 * @param range
71 * @param nbRequested
72 * @param blockSize Size of the largest blocks expected
73 */
74 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
75 super(dataType, 0, nbRequested, blockSize, ExecutionType.SHORT);
76 fRange = range;
77 }
78
79 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize, ExecutionType execType) {
80 super(dataType, 0, nbRequested, blockSize, execType);
81 fRange = range;
82 }
83
84 // ------------------------------------------------------------------------
85 // Accessors
86 // ------------------------------------------------------------------------
87
88 /**
89 * @return the requested time range
90 */
91 public TmfTimeRange getRange() {
92 return fRange;
93 }
94
95 // ------------------------------------------------------------------------
96 // Object
97 // ------------------------------------------------------------------------
98
99 @Override
100 // All requests have a unique id
101 public int hashCode() {
102 return getRequestId();
103 }
104
105 @Override
106 public boolean equals(Object other) {
107 if (other instanceof TmfEventRequest<?>) {
108 TmfEventRequest<?> request = (TmfEventRequest<?>) other;
109 return super.equals(other) && request.fRange.equals(fRange);
110 }
111 return false;
112 }
113
114 @Override
115 public String toString() {
116 return "[TmfEventRequest(" + getRequestId() + "," + getDataType().getSimpleName()
117 + "," + getRange() + "," + getNbRequested() + "," + getBlockize() + ")]";
118 }
119
120 }
This page took 0.032204 seconds and 5 git commands to generate.