Move alltests plugin to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core / src / org / eclipse / linuxtools / internal / tmf / core / trace / indexer / TmfMemoryIndex.java
CommitLineData
032ecd45
MAL
1/*******************************************************************************
2 * Copyright (c) 2013 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 * Marc-Andre Laperle - Initial API and implementation
11 *******************************************************************************/
12
13package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
14
15import java.util.ArrayList;
16import java.util.Collections;
17import java.util.List;
18
19import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
20import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
21import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
22import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
23
24/**
25 * A checkpoint index that store all checkpoints in memory.
26 *
27 * @since 3.0
28 * @author Marc-Andre Laperle
29 */
30public class TmfMemoryIndex implements ITmfCheckpointIndex, ICheckpointCollection {
31
32 private final List<ITmfCheckpoint> fCheckpoints;
33
34 /**
35 * Creates an index for the given trace
36 *
37 * @param trace the trace
38 */
39 public TmfMemoryIndex(ITmfTrace trace) {
a4524c1b 40 fCheckpoints = new ArrayList<>();
032ecd45
MAL
41 }
42
43 @Override
44 public void dispose() {
45 fCheckpoints.clear();
46 }
47
48 @Override
49 public void insert(ITmfCheckpoint checkpoint) {
50 fCheckpoints.add(checkpoint);
51 }
52
53 @Override
54 public ITmfCheckpoint get(long checkpoint) {
55 return fCheckpoints.get((int)checkpoint);
56 }
57
58 @Override
59 public long binarySearch(ITmfCheckpoint checkpoint) {
60 return Collections.binarySearch(fCheckpoints, checkpoint);
61 }
62
63 @Override
64 public boolean isEmpty() {
65 return fCheckpoints.isEmpty();
66 }
67
68 @Override
69 public int size() {
70 return fCheckpoints.size();
71 }
72
73 @Override
74 public boolean isCreatedFromScratch() {
75 return true;
76 }
77
78 @Override
79 public void setTimeRange(TmfTimeRange timeRange) {
80 }
81
82 @Override
83 public void setNbEvents(long nbEvents) {
84 }
85
86 @Override
87 public TmfTimeRange getTimeRange() {
88 return null;
89 }
90
91 @Override
92 public long getNbEvents() {
93 return 0;
94 }
95
96 @Override
97 public void setIndexComplete() {
98 }
99
100 @Override
101 public void delete() {
102 }
103}
This page took 0.045252 seconds and 5 git commands to generate.