tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/model/Trace.java
changeset 56 aa2539c91954
parent 54 a151135b0cf9
child 60 e54443a6878c
child 62 1c2bb2fc7c87
--- a/tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/model/Trace.java	Wed Sep 29 17:45:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-* Represents the mapping of a trace ID into actual trace string
-*
-*/
-package com.nokia.tracecompiler.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * Represents the mapping of a trace ID into actual trace string. When a trace
- * is decoded, the trace ID found from the binary trace file is converted to the
- * text stored in this trace.
- * 
- */
-public class Trace extends TraceObject implements Iterable<TraceParameter> {
-
-	/**
-	 * The trace string
-	 */
-	private String trace = ""; //$NON-NLS-1$
-
-	/**
-	 * List of TraceParameter objects.
-	 */
-	private ArrayList<TraceParameter> parameters = new ArrayList<TraceParameter>();
-
-	/**
-	 * The trace group this trace belongs to
-	 */
-	private TraceGroup group;
-
-	/**
-	 * Creates a new trace and associates it with given TraceGroup
-	 * 
-	 * @param group
-	 *            the trace group
-	 */
-	Trace(TraceGroup group) {
-		setModel(group.getModel());
-		this.group = group;
-		group.addTrace(this);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.nokia.tracecompiler.model.TraceObject#reset()
-	 */
-	@Override
-	void reset() {
-		super.reset();
-		for (TraceParameter parameter : parameters) {
-			// Model listeners are not notified on reset, but if the
-			// parameter itself implements a delete notification interface,
-			// it must be called to do appropriate cleanup
-			notifyOnDelete(parameter);
-			parameter.reset();
-		}
-		parameters.clear();
-	}
-
-	/**
-	 * Sets the trace string. Generates propertyUpdated event to model listeners
-	 * if the string changes
-	 * 
-	 * @see TraceModelListener#propertyUpdated(TraceObject, int)
-	 * @param trace
-	 *            the trace string
-	 * @throws TraceCompilerException 
-	 */
-	public void setTrace(String trace) throws TraceCompilerException {
-		if (trace == null) {
-			trace = ""; //$NON-NLS-1$
-		}
-		if (!trace.equals(this.trace)) {
-			this.trace = trace;
-			getModel().notifyPropertyUpdated(this, TraceModelListener.TRACE);
-		}
-	}
-
-	/**
-	 * Returns the trace string. This never returns null
-	 * 
-	 * @return the trace string
-	 */
-	public String getTrace() {
-		return trace;
-	}
-
-	/**
-	 * Returns the group to which this trace belongs
-	 * 
-	 * @return trace group
-	 */
-	public TraceGroup getGroup() {
-		return group;
-	}
-
-	/**
-	 * Adds a new parameter to the end of parameter list. Generates objectAdded
-	 * event to model listeners
-	 * 
-	 * @see TraceModelListener#objectAdded(TraceObject, TraceObject)
-	 * @param parameter
-	 *            the new parameter
-	 */
-	public void addParameter(TraceParameter parameter) {
-		parameters.add(parameter);
-		getModel().notifyObjectAdded(this, parameter);
-	}
-
-	/**
-	 * Inserts a new parameter to the given location. Generates objectAdded
-	 * event to model listeners
-	 * 
-	 * @see TraceModelListener#objectAdded(TraceObject, TraceObject)
-	 * @param index
-	 *            the index for new parameter
-	 * @param parameter
-	 *            the new parameter
-	 */
-	void insertParameter(int index, TraceParameter parameter) {
-		parameters.add(index, parameter);
-		getModel().notifyObjectAdded(this, parameter);
-	}
-
-	/**
-	 * Removes a parameter from this trace object. Generates a objectRemoved
-	 * event to model listeners if the parameter is actually removed
-	 * 
-	 * @see TraceModelListener#objectRemoved(TraceObject, TraceObject)
-	 * @param parameter
-	 *            the parameter to be removed
-	 * @throws TraceCompilerException 
-	 */
-	public void removeParameter(TraceParameter parameter) throws TraceCompilerException {
-		if (parameters.remove(parameter)) {
-			getModel().notifyObjectRemoved(this, parameter);
-			parameter.reset();
-		}
-	}
-
-	/**
-	 * Removes parameter at given index
-	 * 
-	 * @param index
-	 *            the index of the parameter
-	 * @throws TraceCompilerException 
-	 */
-	public void removeParameterAt(int index) throws TraceCompilerException {
-		if (index >= 0 && index < parameters.size()) {
-			TraceParameter parameter = parameters.get(index);
-			parameters.remove(index);
-			getModel().notifyObjectRemoved(this, parameter);
-			parameter.reset();
-		}
-	}
-
-	/**
-	 * Determines if this object has parameters.
-	 * 
-	 * @return true if this object has parameters
-	 */
-	public boolean hasParameters() {
-		return !parameters.isEmpty();
-	}
-
-	/**
-	 * Gets the number of parameters
-	 * 
-	 * @return the number of parameters
-	 */
-	public int getParameterCount() {
-		return parameters.size();
-	}
-
-	/**
-	 * Returns highest parameter ID + 1. Can be used to create an unique ID for
-	 * a new parameter.
-	 * 
-	 * @return the next parameter ID
-	 */
-	public int getNextParameterID() {
-		int max = 0;
-		for (TraceParameter parameter : parameters) {
-			int id = parameter.getID();
-			if (id > max) {
-				max = id;
-			}
-		}
-		return max + 1;
-	}
-
-	/**
-	 * Gets the parameter at given index
-	 * 
-	 * @param index
-	 *            the parameter index
-	 * @return the parameter at the index
-	 */
-	public TraceParameter getParameter(int index) {
-		return parameters.get(index);
-	}
-
-	/**
-	 * Returns the parameters of this object
-	 * 
-	 * @return iterator over the parameters
-	 */
-	public Iterator<TraceParameter> getParameters() {
-		return parameters.iterator();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Iterable#iterator()
-	 */
-	public Iterator<TraceParameter> iterator() {
-		return parameters.iterator();
-	}
-
-	/**
-	 * Gets a parameter by ID
-	 * 
-	 * @param id
-	 *            the parameter ID
-	 * @return the parameter or null
-	 */
-	public TraceParameter findParameterByID(int id) {
-		TraceParameter retval = null;
-		for (TraceParameter parameter : parameters) {
-			if (parameter.getID() == id) {
-				retval = parameter;
-				break;
-			}
-		}
-		return retval;
-	}
-
-	/**
-	 * Gets a parameter by name
-	 * 
-	 * @param name
-	 *            the name of a parameter
-	 * @return the parameter or null
-	 */
-	public TraceParameter findParameterByName(String name) {
-		TraceParameter retval = null;
-		for (TraceParameter parameter : parameters) {
-			if (parameter.getName().equals(name)) {
-				retval = parameter;
-				break;
-			}
-		}
-		return retval;
-	}
-}