/*******************************************************************************
* Copyright (c) 2015 EfficiOS Inc., Alexandre Montplaisir
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.tracecompass.tmf.ctf.core.trace;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
/**
* Utility methods for traces in the CTF format.
*
* @author Alexandre Montplaisir
* @since 2.0
*/
@NonNullByDefault
public final class CtfUtils {
private CtfUtils() {
}
/**
* Convenience method to get the tracer name from the trace's metadata. The
* leading and trailing "" will be stripped from the returned string.
*
* @param trace
* The trace to query
* @return The tracer's name, or null if it is not defined in the metadata.
*/
public static @Nullable String getTracerName(CtfTmfTrace trace) {
String str = trace.getEnvironment().get("tracer_name"); //$NON-NLS-1$
if (str == null) {
return null;
}
/* Remove the "" at the start and end of the string */
return str.replaceAll("^\"|\"$", ""); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
* Convenience method to get the tracer's major version from the trace
* metadata.
*
* @param trace
* The trace to query
* @return The tracer's major version, or -1 if it is not defined.
*/
public static int getTracerMajorVersion(CtfTmfTrace trace) {
String str = trace.getEnvironment().get("tracer_major"); //$NON-NLS-1$
if (str == null) {
return -1;
}
try {
int ret = Integer.parseInt(str);
return ret;
} catch (NumberFormatException e) {
return -1;
}
}
/**
* Convenience method to get the tracer's minor version from the trace
* metadata.
*
* @param trace
* The trace to query
* @return The tracer's minor version, or -1 if it is not defined.
*/
public static int getTracerMinorVersion(CtfTmfTrace trace) {
String str = trace.getEnvironment().get("tracer_minor"); //$NON-NLS-1$
if (str == null) {
return -1;
}
try {
int ret = Integer.parseInt(str);
return ret;
} catch (NumberFormatException e) {
return -1;
}
}
}