diff options
| author | Ben Culkin <scorpress@gmail.com> | 2023-06-25 15:09:13 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2023-06-25 15:09:13 -0400 |
| commit | 69a769bc6474d71f5108af0698dd5454319e2a6c (patch) | |
| tree | fca5e5772823c826fb206333c3ddf47338d15b82 /base/src/main/java/bjc | |
| parent | c50f997a46cbd2c889a31750f9558847e80aac61 (diff) | |
Fix a few warnings
Diffstat (limited to 'base/src/main/java/bjc')
7 files changed, 53 insertions, 51 deletions
diff --git a/base/src/main/java/bjc/utils/funcutils/StringUtils.java b/base/src/main/java/bjc/utils/funcutils/StringUtils.java index 2d86083..7551cb3 100644 --- a/base/src/main/java/bjc/utils/funcutils/StringUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/StringUtils.java @@ -129,8 +129,7 @@ public class StringUtils { * @return The sequence as an English list. */ public static String toEnglishList(final Object[] objects, final boolean and) { - if (and) return toEnglishList(objects, "and"); - else return toEnglishList(objects, "or"); + return and ? toEnglishList(objects, "and") : toEnglishList(objects, "or"); } /** Count the number of graphemes in a string. @@ -190,8 +189,7 @@ public class StringUtils { int idx = strang.indexOf(until); if (idx == -1) { - if (allowFail) return strang; - else return null; + return allowFail ? strang : null; } return strang.substring(0, strang.indexOf(until)); diff --git a/base/src/main/java/bjc/utils/funcutils/TreeUtils.java b/base/src/main/java/bjc/utils/funcutils/TreeUtils.java index daab8a1..22c4d3c 100644 --- a/base/src/main/java/bjc/utils/funcutils/TreeUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/TreeUtils.java @@ -6,18 +6,22 @@ import java.util.function.*; import bjc.data.*; import bjc.funcdata.*; -/** Implements various utilities for trees. +/** + * Implements various utilities for trees. * - * @author Benjamin Culkin */ + * @author Benjamin Culkin + */ public class TreeUtils { - /** Convert a tree into a list of outline nodes that match a certain path. + /** + * Convert a tree into a list of outline nodes that match a certain path. * - * @param <T> The type contained in the tree. + * @param <T> The type contained in the tree. * - * @param tre The tree to outline. + * @param tre The tree to outline. * @param leafMarker The path to mark nodes with. * - * @return The list of marked paths. */ + * @return The list of marked paths. + */ public static <T> ListEx<ListEx<T>> outlineTree(Tree<T> tre, Predicate<T> leafMarker) { ListEx<ListEx<T>> paths = new FunctionalList<>(); @@ -30,13 +34,14 @@ public class TreeUtils { } /* Find a path in a tree. */ - private static <T> void findPath(Tree<T> subtree, LinkedList<T> path, - Predicate<T> leafMarker, ListEx<ListEx<T>> paths) { + private static <T> void findPath(Tree<T> subtree, LinkedList<T> path, Predicate<T> leafMarker, + ListEx<ListEx<T>> paths) { if (subtree.getChildrenCount() == 0 && leafMarker.test(subtree.getHead())) { /* We're at a matching leaf node. Add it. */ ListEx<T> finalPath = new FunctionalList<>(); - for (T ePath : path) finalPath.add(ePath); + for (T ePath : path) + finalPath.add(ePath); finalPath.add(subtree.getHead()); @@ -50,43 +55,39 @@ public class TreeUtils { path.removeLast(); } } - - /** Performs 'variable substitution' or something along those lines on a tree. + + /** + * Performs 'variable substitution' or something along those lines on a tree. * * @param <ContainedType> The type of element contained in the tree. * - * @param tree The tree to do expansion in. - * @param marker The function to mark which nodes should be expanded. - * @param expander The function to expand nodes. + * @param tree The tree to do expansion in. + * @param marker The function to mark which nodes should be expanded. + * @param expander The function to expand nodes. * - * @return A transformed copy of the tree. */ - public static <ContainedType> Tree<ContainedType> substitute( - Tree<ContainedType> tree, - Predicate<ContainedType> marker, - Function<ContainedType, Tree<ContainedType>> expander) { - tree.topDownTransform((contents) -> { - if (marker.test(contents)) return TopDownTransformResult.TRANSFORM; - else return TopDownTransformResult.PASSTHROUGH; - }, (node) -> { - return expander.apply(node.getHead()); - }); + * @return A transformed copy of the tree. + */ + public static <ContainedType> Tree<ContainedType> substitute(Tree<ContainedType> tree, + Predicate<ContainedType> marker, Function<ContainedType, Tree<ContainedType>> expander) { + Function<ContainedType, + TopDownTransformResult> picker = (contents) -> marker.test(contents) ? TopDownTransformResult.TRANSFORM + : TopDownTransformResult.PASSTHROUGH; + tree.topDownTransform(picker, (node) -> expander.apply(node.getHead())); return tree; } - - /** Performs 'variable substitution' or something along those lines on a tree. + + /** + * Performs 'variable substitution' or something along those lines on a tree. * * @param <ContainedType> The type of element contained in the tree. * - * @param tree The tree to do expansion in. - * @param environment A map which contains the variables to substitute. + * @param tree The tree to do expansion in. + * @param environment A map which contains the variables to substitute. * - * @return A transformed copy of the tree. */ - public static <ContainedType> Tree<ContainedType> substitute( - Tree<ContainedType> tree, + * @return A transformed copy of the tree. + */ + public static <ContainedType> Tree<ContainedType> substitute(Tree<ContainedType> tree, MapEx<ContainedType, Tree<ContainedType>> environment) { - return substitute( - tree, - environment::containsKey, - (element) -> environment.get(element).get()); + return substitute(tree, environment::containsKey, (element) -> environment.get(element).get()); } } diff --git a/base/src/main/java/bjc/utils/graph/AdjacencyMap.java b/base/src/main/java/bjc/utils/graph/AdjacencyMap.java index 04fe4c8..f03fb69 100644 --- a/base/src/main/java/bjc/utils/graph/AdjacencyMap.java +++ b/base/src/main/java/bjc/utils/graph/AdjacencyMap.java @@ -21,6 +21,7 @@ import bjc.utils.funcutils.FuncUtils; * * @param <T> * The type of the nodes in the graph + * @param <W> The type of the weights */ public class AdjacencyMap<T, W> { /** diff --git a/base/src/main/java/bjc/utils/graph/Edge.java b/base/src/main/java/bjc/utils/graph/Edge.java index 5b0eba3..bffa0a1 100644 --- a/base/src/main/java/bjc/utils/graph/Edge.java +++ b/base/src/main/java/bjc/utils/graph/Edge.java @@ -8,6 +8,7 @@ import java.util.Objects; * @author ben * * @param <T> The type of the nodes in the graph. + * @param <W> The type of the weight */ public class Edge<T, W> { /* The distance from initial to terminal node. */ diff --git a/base/src/main/java/bjc/utils/graph/Graph.java b/base/src/main/java/bjc/utils/graph/Graph.java index 81653fc..a007698 100644 --- a/base/src/main/java/bjc/utils/graph/Graph.java +++ b/base/src/main/java/bjc/utils/graph/Graph.java @@ -1,20 +1,11 @@ package bjc.utils.graph; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.NoSuchElementException; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.Set; import java.util.function.BiConsumer; import java.util.function.BiPredicate; -import bjc.data.Holder; -import bjc.data.Identity; -import bjc.funcdata.FunctionalMap; -import bjc.funcdata.ListEx; -import bjc.funcdata.MapEx; +import bjc.funcdata.*; /** * A directed weighted graph, where the vertices have some arbitrary label. @@ -23,6 +14,7 @@ import bjc.funcdata.MapEx; * * @param <VertexLabel> * The label for vertices. + * @param <EdgeLabel> The label for edges */ public class Graph<VertexLabel, EdgeLabel> { /** diff --git a/base/src/main/java/bjc/utils/graph/Graphs.java b/base/src/main/java/bjc/utils/graph/Graphs.java index 2844a68..f504b55 100644 --- a/base/src/main/java/bjc/utils/graph/Graphs.java +++ b/base/src/main/java/bjc/utils/graph/Graphs.java @@ -5,11 +5,21 @@ import java.util.*; import bjc.data.Holder; import bjc.data.Identity; +/** + * General graph utilities + * @author bjcul + * + */ public class Graphs { /** * Uses Prim's algorithm to calculate a MST for the graph. * * If the graph is non-connected, this will lead to unpredictable results. + * + * @param grap The graph to calculate MST for + * @param comp The comparator for the edges + * @param <T> The vertex type + * @param <L> The edge type * * @return A list of edges that constitute the MST. */ diff --git a/base/src/main/java/bjc/utils/patterns/ComplexPattern.java b/base/src/main/java/bjc/utils/patterns/ComplexPattern.java index 69ee67c..3bac136 100644 --- a/base/src/main/java/bjc/utils/patterns/ComplexPattern.java +++ b/base/src/main/java/bjc/utils/patterns/ComplexPattern.java @@ -5,7 +5,6 @@ import java.util.function.*; import java.util.regex.*; import bjc.data.*; -import bjc.functypes.ID; import bjc.functypes.Unit; /** |
