1 /*******************************************************************************
2 * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
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 *******************************************************************************/
10 package org
.eclipse
.tracecompass
.internal
.provisional
.analysis
.lami
.core
.aspect
;
12 import java
.util
.Comparator
;
14 import org
.eclipse
.jdt
.annotation
.Nullable
;
15 import org
.eclipse
.tracecompass
.internal
.provisional
.analysis
.lami
.core
.module
.LamiTableEntry
;
16 import org
.eclipse
.tracecompass
.internal
.provisional
.analysis
.lami
.core
.types
.LamiData
;
17 import org
.eclipse
.tracecompass
.internal
.provisional
.analysis
.lami
.core
.types
.LamiIRQ
;
20 * Aspect for IRQ type, indicating if it is a hardware IRQ or software IRQ.
22 * @author Philippe Proulx
24 public class LamiIRQTypeAspect
extends LamiTableEntryAspect
{
26 private final int fColIndex
;
36 public LamiIRQTypeAspect(String colName
, int colIndex
) {
37 super(colName
+ " (" + Messages
.LamiAspect_Type
+')', null); //$NON-NLS-1$
42 public boolean isContinuous() {
47 public boolean isTimeStamp() {
52 public @Nullable String
resolveString(LamiTableEntry entry
) {
53 LamiData data
= entry
.getValue(fColIndex
);
54 if (data
instanceof LamiIRQ
) {
55 LamiIRQ irq
= (LamiIRQ
) data
;
57 switch (irq
.getType()) {
59 return Messages
.LamiIRQTypeAspect_HardwareIRQ
;
62 return Messages
.LamiIRQTypeAspect_SoftIRQ
;
65 return "?"; //$NON-NLS-1$
68 /* Could be null, unknown, etc. */
69 return data
.toString();
73 public @Nullable Number
resolveNumber(LamiTableEntry entry
) {
78 public Comparator
<LamiTableEntry
> getComparator() {
80 String s1
= resolveString(o1
);
81 String s2
= resolveString(o2
);
83 if (s1
== null && s2
== null) {
94 return s1
.compareTo(s2
);