summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-06-10 14:53:00 +0100
committerMichael Williamson <mike@zwobble.org>2024-06-10 14:53:00 +0100
commitdad067938edd2175cdb90a7ad7b5f58c0e19d2d9 (patch)
tree1e84edde86bc3fab1232499945d8782cea5ad6de /src/main/java/org
parent67267f154223f015ddf8c0b0316b83563404c1d5 (diff)
Use lazy iterables instead of streams
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java
index 8d29393..764bb87 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java
@@ -1,10 +1,11 @@
package org.zwobble.mammoth.internal.docx;
import org.zwobble.mammoth.internal.documents.NumberingLevel;
+import org.zwobble.mammoth.internal.util.Iterables;
+import org.zwobble.mammoth.internal.util.Maps;
import java.util.Map;
import java.util.Optional;
-import java.util.stream.Collectors;
import static org.zwobble.mammoth.internal.util.Maps.lookup;
import static org.zwobble.mammoth.internal.util.Maps.map;
@@ -66,10 +67,16 @@ public class Numbering {
Styles styles
) {
this.abstractNums = abstractNums;
- this.levelsByParagraphStyleId = abstractNums.values().stream()
- .flatMap(abstractNum -> abstractNum.levels.values().stream())
- .filter(level -> level.paragraphStyleId.isPresent())
- .collect(Collectors.toMap(level -> level.paragraphStyleId.get(), level -> level));
+ this.levelsByParagraphStyleId = Maps.toMapWithKey(
+ Iterables.lazyFilter(
+ Iterables.lazyFlatMap(
+ abstractNums.values(),
+ abstractNum -> abstractNum.levels.values()
+ ),
+ level -> level.paragraphStyleId.isPresent()
+ ),
+ level -> level.paragraphStyleId.get()
+ );
this.nums = nums;
this.styles = styles;
}