diff options
Diffstat (limited to 'src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java')
-rw-r--r-- | src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java index f5ea3e7..41ee8d1 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2017, Arnaud Roques + * (C) Copyright 2009-2020, Arnaud Roques * * Project Info: http://plantuml.com * @@ -35,23 +35,35 @@ */ package net.sourceforge.plantuml.sequencediagram.command; -import java.util.List; - +import net.sourceforge.plantuml.LineLocation; import net.sourceforge.plantuml.command.CommandExecutionResult; -import net.sourceforge.plantuml.command.SingleLineCommand; +import net.sourceforge.plantuml.command.SingleLineCommand2; +import net.sourceforge.plantuml.command.regex.IRegex; +import net.sourceforge.plantuml.command.regex.RegexConcat; +import net.sourceforge.plantuml.command.regex.RegexLeaf; +import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.sequencediagram.SequenceDiagram; -public class CommandDivider extends SingleLineCommand<SequenceDiagram> { +public class CommandDivider extends SingleLineCommand2<SequenceDiagram> { public CommandDivider() { - super("(?i)^==[%s]*(.*)[%s]*==$"); + super(getRegexConcat()); + } + + static IRegex getRegexConcat() { + return RegexConcat.build(CommandDivider.class.getName(), RegexLeaf.start(), // + new RegexLeaf("=="), // + RegexLeaf.spaceZeroOrMore(), // + new RegexLeaf("LABEL", "(.*)"), // + RegexLeaf.spaceZeroOrMore(), // + new RegexLeaf("=="), RegexLeaf.end()); // } @Override - protected CommandExecutionResult executeArg(SequenceDiagram sequenceDiagram, List<String> arg) { - final Display strings = Display.getWithNewlines(arg.get(0)); - sequenceDiagram.divider(strings); + protected CommandExecutionResult executeArg(SequenceDiagram diagram, LineLocation location, RegexResult arg) { + final Display strings = Display.getWithNewlines(arg.get("LABEL", 0)); + diagram.divider(strings); return CommandExecutionResult.ok(); } } |