tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/model/TraceConstantTable.java
--- a/tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/model/TraceConstantTable.java Wed Sep 29 17:45:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +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:
-*
-* Integer-to-string mapping table for parameters
-*
-*/
-package com.nokia.tracecompiler.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * Integer-to-string mapping table for parameters
- *
- */
-public class TraceConstantTable extends TraceObject implements
- Iterable<TraceConstantTableEntry> {
-
- /**
- * Table entries
- */
- private ArrayList<TraceConstantTableEntry> entries = new ArrayList<TraceConstantTableEntry>();
-
- /**
- * Table type
- */
- private String type = TraceParameter.UDEC32;
-
- /**
- * Parameter reference count
- */
- private ArrayList<TraceParameter> parameterReferences = new ArrayList<TraceParameter>();
-
- /**
- * Creates a new constant table
- *
- * @param model
- * the trace model
- */
- TraceConstantTable(TraceModel model) {
- setModel(model);
- model.addConstantTable(this);
- }
-
- /**
- * Gets the type
- *
- * @return the type
- */
- public String getType() {
- return type;
- }
-
- /**
- * Sets the constant type
- *
- * @param type
- * the parameter type
- */
- public void setType(String type) {
- this.type = type;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.nokia.tracecompiler.model.TraceObject#setName(java.lang.String)
- */
- @Override
- public void setName(String name) throws TraceCompilerException {
- super.setName(name);
- // Note: Currently name changes are disabled when a table is referenced
- // by parameters. If enabled at some point, a notification about this
- // needs to be sent to the parameters
- }
-
- /**
- * Adds a constant table entry to this table. This is called from the
- * constant table entry constructor, to this is not public. Generates a
- * objectAdded event to model listeners
- *
- * @see TraceModelListener#objectAdded(TraceObject, TraceObject)
- * @param entry
- * the table entry
- */
- void addEntry(TraceConstantTableEntry entry) {
- entries.add(entry);
- getModel().notifyObjectAdded(this, entry);
- }
-
- /**
- * Removes the given constant table entry. Creates a objectRemoved event to
- * the model listeners
- *
- * @see TraceModelListener#objectRemoved(TraceObject, TraceObject)
- * @param entry
- * the entry to be removed
- * @throws TraceCompilerException
- */
- public void removeEntry(TraceConstantTableEntry entry) throws TraceCompilerException {
- if (entries.remove(entry)) {
- getModel().notifyObjectRemoved(this, entry);
- entry.reset();
- }
- }
-
- /**
- * Gets the entry which has given ID
- *
- * @param id
- * the id
- * @return the entry or null
- */
- public TraceConstantTableEntry findEntryByID(int id) {
- TraceConstantTableEntry retval = null;
- for (TraceConstantTableEntry entry : entries) {
- if (entry.getID() == id) {
- retval = entry;
- break;
- }
- }
- return retval;
- }
-
- /**
- * Gets the entry which has the given name
- *
- * @param name
- * the name
- * @return the entry or null
- */
- public TraceConstantTableEntry findEntryByName(String name) {
- TraceConstantTableEntry retval = null;
- for (TraceConstantTableEntry entry : entries) {
- if (entry.getName().equals(name)) {
- retval = entry;
- break;
- }
- }
- return retval;
- }
-
- /**
- * Gets the constant table entries
- *
- * @return the entries iterator
- */
- public Iterator<TraceConstantTableEntry> getEntries() {
- return entries.iterator();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Iterable#iterator()
- */
- public Iterator<TraceConstantTableEntry> iterator() {
- return entries.iterator();
- }
-
- /**
- * Determines if there are any entries in this table
- *
- * @return true if there are entries
- */
- public boolean hasEntries() {
- return !entries.isEmpty();
- }
-
- /**
- * Adds a parameter reference
- *
- * @param parameter
- * the parameter to be added
- */
- void addParameterReference(TraceParameter parameter) {
- parameterReferences.add(parameter);
- }
-
- /**
- * Removes a parameter reference
- *
- * @param parameter
- * the reference to be removed
- */
- void removeParameterReference(TraceParameter parameter) {
- parameterReferences.remove(parameter);
- }
-
- /**
- * Checks if there are parameter references
- *
- * @return true if this table is referenced from parameters
- */
- public boolean hasParameterReferences() {
- return !parameterReferences.isEmpty();
- }
-
- /**
- * Gets the parameter references
- *
- * @return the iterator of the references
- */
- public Iterator<TraceParameter> getParameterReferences() {
- return parameterReferences.iterator();
- }
-
- /**
- * Gets the largest constant ID + 1
- *
- * @return the ID
- */
- public int getNextEntryID() {
- int max = 0;
- for (TraceConstantTableEntry entry : entries) {
- int id = entry.getID();
- if (id > max) {
- max = id;
- }
- }
- return max + 1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.nokia.tracecompiler.model.TraceObject#reset()
- */
- @Override
- void reset() {
- for (TraceConstantTableEntry entry : entries) {
- // Model listeners are not notified on reset, but if the
- // entry itself implements a delete notification interface,
- // it must be called to do appropriate cleanup
- notifyOnDelete(entry);
- entry.reset();
- }
- super.reset();
- }
-
-}