2010-10-26 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug309042
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / request / TmfEventRequest.java
CommitLineData
8c8bf09f
ASL
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
13package org.eclipse.linuxtools.tmf.request;
14
15import org.eclipse.linuxtools.tmf.event.TmfEvent;
16import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
17
18/**
19 * <b><u>TmfEventRequest</u></b>
20 * <p>
21 * Implement me. Please.
22 */
951d134a 23public abstract class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> implements ITmfEventRequest<T> {
8c8bf09f
ASL
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 */
951d134a 38 public TmfEventRequest(Class<T> dataType) {
f6b14ce2 39 this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
550d787e
FC
40 }
41
42 public TmfEventRequest(Class<T> dataType, ExecutionType execType) {
43 this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
8c8bf09f
ASL
44 }
45
46 /**
47 * @param range
48 */
951d134a 49 public TmfEventRequest(Class<T> dataType, TmfTimeRange range) {
f6b14ce2 50 this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
550d787e
FC
51 }
52
53 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, ExecutionType execType) {
54 this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
8c8bf09f
ASL
55 }
56
57 /**
58 * @param range
59 * @param nbRequested
60 */
951d134a 61 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) {
f6b14ce2 62 this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
550d787e
FC
63 }
64
65 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, ExecutionType execType) {
66 this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, execType);
8c8bf09f
ASL
67 }
68
69 /**
70 * @param range
71 * @param nbRequested
72 * @param blockSize Size of the largest blocks expected
73 */
951d134a 74 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
f6b14ce2 75 super(dataType, 0, nbRequested, blockSize, ExecutionType.FOREGROUND);
550d787e
FC
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);
8c8bf09f
ASL
81 fRange = range;
82 }
83
84 // ------------------------------------------------------------------------
85 // Accessors
86 // ------------------------------------------------------------------------
87
88 /**
89 * @return the requested time range
90 */
d4011df2
FC
91 @Override
92 public TmfTimeRange getRange() {
8c8bf09f
ASL
93 return fRange;
94 }
95
2fb2eb37
FC
96 // ------------------------------------------------------------------------
97 // Object
98 // ------------------------------------------------------------------------
99
100 @Override
101 // All requests have a unique id
102 public int hashCode() {
103 return getRequestId();
104 }
105
106 @Override
107 public boolean equals(Object other) {
108 if (other instanceof TmfEventRequest<?>) {
109 TmfEventRequest<?> request = (TmfEventRequest<?>) other;
110 return super.equals(other) && request.fRange.equals(fRange);
111 }
112 return false;
113 }
114
115 @Override
116 public String toString() {
117 return "[TmfEventRequest(" + getRequestId() + "," + getDataType().getSimpleName()
f9673903 118 + "," + getRange() + "," + getNbRequested() + ")]";
2fb2eb37
FC
119 }
120
8c8bf09f 121}
This page took 0.031708 seconds and 5 git commands to generate.