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