From 629b6bc7444005915983ae8d86c89c4ae215729e Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 26 Jul 2022 20:35:01 -0400 Subject: Restructure a bit --- src/main/java/bjc/data/Multimap.java | 16 -- src/main/java/bjc/esodata/.AbbrevTree.java.un~ | Bin 0 -> 33807 bytes src/main/java/bjc/esodata/AbbrevTree.java | 276 +++++++++++++++++++++++++ src/main/java/bjc/esodata/AbbrevTree.java~ | 75 +++++++ src/main/java/bjc/esodata/Multimap.java | 44 +++- src/main/java/bjc/esodata/ThresholdSet.java | 74 ++++--- src/main/java/module-info.java | 8 + 7 files changed, 445 insertions(+), 48 deletions(-) delete mode 100644 src/main/java/bjc/data/Multimap.java create mode 100644 src/main/java/bjc/esodata/.AbbrevTree.java.un~ create mode 100644 src/main/java/bjc/esodata/AbbrevTree.java create mode 100644 src/main/java/bjc/esodata/AbbrevTree.java~ create mode 100644 src/main/java/module-info.java (limited to 'src/main') diff --git a/src/main/java/bjc/data/Multimap.java b/src/main/java/bjc/data/Multimap.java deleted file mode 100644 index 0e858b7..0000000 --- a/src/main/java/bjc/data/Multimap.java +++ /dev/null @@ -1,16 +0,0 @@ -package bjc.data; - -/** - * A map with support for multiple values per key. - * - * @param - * The type of the keys for the map. - * @param - * The type of the values for the map. - * - * @author Ben Culkin - */ -public class Multimap { - // TODO either implement this, or find if there is an implementation I've - // written elsewhere -} diff --git a/src/main/java/bjc/esodata/.AbbrevTree.java.un~ b/src/main/java/bjc/esodata/.AbbrevTree.java.un~ new file mode 100644 index 0000000..7c8a369 Binary files /dev/null and b/src/main/java/bjc/esodata/.AbbrevTree.java.un~ differ diff --git a/src/main/java/bjc/esodata/AbbrevTree.java b/src/main/java/bjc/esodata/AbbrevTree.java new file mode 100644 index 0000000..35c44f0 --- /dev/null +++ b/src/main/java/bjc/esodata/AbbrevTree.java @@ -0,0 +1,276 @@ +package bjc.esodata; + +import java.util.*; + +import bjc.data.Pair; +import bjc.data.TransformIterator; +import bjc.funcdata.FunctionalList; +import bjc.funcdata.ListEx; + +/** + * A labeled tree, where you can reference sub-nodes by their label as long as + * the reference is unambiguous. + * + * Inspired by the way that you can reference COBOL members by their name, as + * long as it is unambiguous. If it is ambiguous, you can instead use parent + * nodes to disambiguate. + * + * Additional note: The base iterator will give you all of the child nodes, but + * in no defined order. + * + * @param