/******************************************************************************* * Copyright (c) 2010, 2014 Ericsson * * 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 * * Contributors: * Patrick Tassé - Initial API and implementation *******************************************************************************/ package fr.inria.linuxtools.tmf.core.parsers.custom; import fr.inria.linuxtools.tmf.core.event.ITmfEventField; import fr.inria.linuxtools.tmf.core.event.TmfEventField; import fr.inria.linuxtools.tmf.core.event.TmfEventType; /** * Event type for custom text parsers. * * @author Patrick Tassé * @since 3.0 */ public abstract class CustomEventType extends TmfEventType { private static String CONTEXT_ID = "CustomEventType"; //$NON-NLS-1$ /** * Constructor * * @param definition * Trace definition */ public CustomEventType(CustomTraceDefinition definition) { super(CONTEXT_ID, definition.definitionName, getRootField(definition)); } private static ITmfEventField getRootField(CustomTraceDefinition definition) { ITmfEventField[] fields = new ITmfEventField[definition.outputs.size()]; for (int i = 0; i < fields.length; i++) { fields[i] = new TmfEventField(definition.outputs.get(i).name, null, null); } ITmfEventField rootField = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fields); return rootField; } }