(no commit message)
[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 */
23public 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);
40 }
41
42 /**
43 * @param range
44 */
45 public TmfEventRequest(Class<T> dataType, TmfTimeRange range) {
46 this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE);
47 }
48
49 /**
50 * @param range
51 * @param nbRequested
52 */
53 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) {
54 this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE);
55 }
56
57 /**
58 * @param range
59 * @param nbRequested
60 * @param blockSize Size of the largest blocks expected
61 */
62 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
63 super(dataType, 0, nbRequested, blockSize);
64 fRange = range;
65 }
66
67 // ------------------------------------------------------------------------
68 // Accessors
69 // ------------------------------------------------------------------------
70
71 /**
72 * @return the requested time range
73 */
74 public TmfTimeRange getRange() {
75 return fRange;
76 }
77
78 // ------------------------------------------------------------------------
79 // Object
80 // ------------------------------------------------------------------------
81
82 @Override
83 // All requests have a unique id
84 public int hashCode() {
85 return getRequestId();
86 }
87
88 @Override
89 public boolean equals(Object other) {
90 if (other instanceof TmfEventRequest<?>) {
91 TmfEventRequest<?> request = (TmfEventRequest<?>) other;
92 return super.equals(other) && request.fRange.equals(fRange);
93 }
94 return false;
95 }
96
97 @Override
98 public String toString() {
99 return "[TmfEventRequest(" + getRequestId() + "," + getDataType().getSimpleName()
100 + "," + getRange() + "," + getNbRequested() + "," + getBlockize() + ")]";
101 }
102
103}
This page took 0.032255 seconds and 5 git commands to generate.