summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/command/CommandTitle.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/command/CommandTitle.java')
-rw-r--r--src/net/sourceforge/plantuml/command/CommandTitle.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/net/sourceforge/plantuml/command/CommandTitle.java b/src/net/sourceforge/plantuml/command/CommandTitle.java
index 20bc0bf..864af6c 100644
--- a/src/net/sourceforge/plantuml/command/CommandTitle.java
+++ b/src/net/sourceforge/plantuml/command/CommandTitle.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,24 +35,35 @@
*/
package net.sourceforge.plantuml.command;
-import java.util.List;
-
-import net.sourceforge.plantuml.UmlDiagram;
+import net.sourceforge.plantuml.LineLocation;
+import net.sourceforge.plantuml.TitledDiagram;
+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.cucadiagram.DisplayPositionned;
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
import net.sourceforge.plantuml.graphic.VerticalAlignment;
-public class CommandTitle extends SingleLineCommand<UmlDiagram> {
+public class CommandTitle extends SingleLineCommand2<TitledDiagram> {
public CommandTitle() {
- super("(?i)^title(?:[%s]*:[%s]*|[%s]+)(.*[\\p{L}0-9_.].*)$");
+ super(getRegexConcat());
+ }
+
+ static IRegex getRegexConcat() {
+ return RegexConcat.build(CommandTitle.class.getName(), //
+ RegexLeaf.start(), //
+ new RegexLeaf("title"), //
+ new RegexLeaf("(?:[%s]*:[%s]*|[%s]+)"), //
+ new RegexLeaf("TITLE", "(.*[\\p{L}0-9_.].*)"), RegexLeaf.end()); //
}
@Override
- protected CommandExecutionResult executeArg(UmlDiagram diagram, List<String> arg) {
- diagram.setTitle(DisplayPositionned.single(Display.getWithNewlines(arg.get(0)), HorizontalAlignment.CENTER,
- VerticalAlignment.TOP));
+ protected CommandExecutionResult executeArg(TitledDiagram diagram, LineLocation location, RegexResult arg) {
+ diagram.setTitle(DisplayPositionned.single(Display.getWithNewlines(arg.get("TITLE", 0)),
+ HorizontalAlignment.CENTER, VerticalAlignment.TOP));
return CommandExecutionResult.ok();
}
}