From 63c7d1fcd02752086b5deedffba4f463c32878d4 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Fri, 29 Aug 2014 22:19:47 +0000 Subject: [PATCH] Added a getLabels() method to the explicit.Model hierarchty (from Joachim Klein). git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9156 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/explicit/Model.java | 7 +++++++ prism/src/explicit/ModelExplicit.java | 7 +++++++ prism/src/explicit/SubNondetModel.java | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/prism/src/explicit/Model.java b/prism/src/explicit/Model.java index 6980bbb2..fbdd2362 100644 --- a/prism/src/explicit/Model.java +++ b/prism/src/explicit/Model.java @@ -30,6 +30,7 @@ import java.io.File; import java.util.BitSet; import java.util.Iterator; import java.util.List; +import java.util.Set; import parser.State; import parser.Values; @@ -124,6 +125,12 @@ public interface Model */ public BitSet getLabelStates(String name); + /** + * Get the labels that are (optionally) stored. + * Returns an empty set if there are no labels. + */ + public Set getLabels(); + /** * Get the total number of transitions in the model. */ diff --git a/prism/src/explicit/ModelExplicit.java b/prism/src/explicit/ModelExplicit.java index 76ea8109..35cf5ee1 100644 --- a/prism/src/explicit/ModelExplicit.java +++ b/prism/src/explicit/ModelExplicit.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.BitSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; @@ -262,6 +263,12 @@ public abstract class ModelExplicit implements Model return labels.get(name); } + @Override + public Set getLabels() + { + return labels.keySet(); + } + @Override public abstract int getNumTransitions(); diff --git a/prism/src/explicit/SubNondetModel.java b/prism/src/explicit/SubNondetModel.java index 1b2ab2a0..409b1046 100644 --- a/prism/src/explicit/SubNondetModel.java +++ b/prism/src/explicit/SubNondetModel.java @@ -34,6 +34,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; import parser.State; import parser.Values; @@ -172,6 +173,11 @@ public class SubNondetModel implements NondetModel { throw new UnsupportedOperationException(); } + + @Override + public Set getLabels() { + throw new UnsupportedOperationException(); + } @Override public BitSet getLabelStates(String name)