package org.zwobble.mammoth.internal.styles; import org.zwobble.mammoth.internal.documents.Run; import java.util.Optional; public class RunMatcher implements DocumentElementMatcher { public static final RunMatcher ANY = new RunMatcher(Optional.empty(), Optional.empty()); public static RunMatcher styleId(String styleId) { return new RunMatcher(Optional.of(styleId), Optional.empty()); } public static RunMatcher styleName(String styleName) { return new RunMatcher(Optional.empty(), Optional.of(new EqualToStringMatcher(styleName))); } private final Optional styleId; private final Optional styleName; public RunMatcher(Optional styleId, Optional styleName) { this.styleId = styleId; this.styleName = styleName; } @Override public boolean matches(Run run) { return DocumentElementMatching.matchesStyle(styleId, styleName, run.getStyle()); } }