/** * 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 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; }
/** * 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; }
/* * (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(); }
/** * 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(); } }