import java.util.*; public class VHDLEntity { private static final Map FROM_ID; static { FROM_ID = new HashMap(); } public static void add_element (final String id) { if (!FROM_ID.containsKey(id)) { FROM_ID.put(id, new VHDLEntity(id)); } } public static VHDLEntity get_from_id (final String id) { final VHDLEntity result; result = FROM_ID.get(id); if (result == null) { System.err.println ( "[E] Element " + id + " is used like an entity, but is not declared as such before that" + " use." ); System.exit(-1); } return result; } public static VHDLEntity find (final String id) { return FROM_ID.get(id); } /******************************************************************************/ private final Collection process_instances; private final Collection waveform_instances; private final Collection ports; private final String id; private VHDLArchitecture architecture; private VHDLEntity (final String id) { this.id = id; ports = new ArrayList(); architecture = null; this.process_instances = new ArrayList(); this.waveform_instances = new ArrayList(); } public void add_port (final String pt) { if (!ports.contains(pt)) { ports.add(pt); } } public void set_architecture (final VHDLArchitecture arch) { architecture = arch; } public Collection get_process_instances () { return process_instances; } public Collection get_waveform_instances () { return waveform_instances; } }