summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-08-29 13:54:43 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-08-29 13:54:43 +0200
commit35e6857fb09b006da9f8cc3f59f239f078cc69a1 (patch)
tree9c049bc4a16a1202b1dc18ccd79ecfd8557f7dcc /instance-calculator/src/VHDLWaveform.java
parentf1dfb1eb04a705521238dba64e09bb9ecdea794f (diff)
Still working on the implementation.
Diffstat (limited to 'instance-calculator/src/VHDLWaveform.java')
-rw-r--r--instance-calculator/src/VHDLWaveform.java99
1 files changed, 99 insertions, 0 deletions
diff --git a/instance-calculator/src/VHDLWaveform.java b/instance-calculator/src/VHDLWaveform.java
new file mode 100644
index 0000000..83b9626
--- /dev/null
+++ b/instance-calculator/src/VHDLWaveform.java
@@ -0,0 +1,99 @@
+import java.util.*;
+
+public class VHDLWaveform
+{
+ private static final Map<String, VHDLWaveform> FROM_ID;
+
+ static
+ {
+ FROM_ID = new HashMap<String, VHDLWaveform>();
+ }
+
+ public static void add_element (final String id)
+ {
+ if (!FROM_ID.containsKey(id))
+ {
+ FROM_ID.put(id, new VHDLWaveform(id));
+ }
+ }
+
+ public static VHDLWaveform get_from_id (final String id)
+ {
+ return FROM_ID.get(id);
+ }
+
+ public static boolean handle_is_accessed_by
+ (
+ final String wfm_id,
+ final String ps_id
+ )
+ {
+ /* TODO */
+ return false;
+ }
+
+/******************************************************************************/
+ private final Collection<String> accessed_wfm;
+ private final Collection<VHDLWaveform.Instance> instances;
+ private final String id;
+ private int instances_count;
+
+ private VHDLWaveform (final String id)
+ {
+ this.id = id;
+ accessed_wfm = new ArrayList<String>();
+ instances = new ArrayList<VHDLWaveform.Instance>();
+ instances_count = 0;
+ }
+
+ public VHDLWaveform.Instance add_instance
+ (
+ final VHDLEntity visibility
+ )
+ {
+ final VHDLWaveform.Instance result;
+
+ result =
+ new VHDLWaveform.Instance
+ (
+ Instances.get_id_for(instances_count),
+ this,
+ visibility
+ );
+
+ instances.add(result);
+
+ instances_count += 1;
+
+ return result;
+ }
+
+ public String get_id ()
+ {
+ return id;
+ }
+
+ public static class Instance
+ {
+ private final String id;
+ private final VHDLWaveform parent;
+ private final VHDLEntity visibility;
+
+ private Instance
+ (
+ final String id,
+ final VHDLWaveform parent,
+ final VHDLEntity visibility
+ )
+ {
+ this.id = id;
+ this.parent = parent;
+ this.visibility = visibility;
+ }
+
+ public VHDLWaveform get_parent ()
+ {
+ return parent;
+ }
+ }
+}