summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java')
-rw-r--r--src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java30
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();
}
}