mirror of
https://github.com/Noratrieb/UMLetClassParser.git
synced 2026-01-14 08:35:07 +01:00
watermark option
This commit is contained in:
parent
c970867916
commit
17f732f04b
5 changed files with 85 additions and 29 deletions
|
|
@ -3,24 +3,29 @@ import java.util.ArrayList;
|
|||
public class UMLClass {
|
||||
|
||||
private final String name;
|
||||
private final String fullName;
|
||||
private final String packageString;
|
||||
|
||||
private final ArrayList<UMLField> fields = new ArrayList<>();
|
||||
private final ArrayList<UMLMethod> methods = new ArrayList<>();
|
||||
|
||||
public UMLClass(String classDiagram, String packageString) {
|
||||
private UMLManager manager;
|
||||
|
||||
public UMLClass(String classDiagram, String packageString, UMLManager manager) {
|
||||
|
||||
this.manager = manager;
|
||||
this.packageString = packageString;
|
||||
|
||||
String[] lines = classDiagram.split("\n");
|
||||
|
||||
String[] linesBeheaded = new String[lines.length-1];
|
||||
String[] linesBeheaded = new String[lines.length - 1];
|
||||
this.fullName = lines[0];
|
||||
this.name = lines[0].split(" ")[0];
|
||||
|
||||
System.arraycopy(lines, 1, linesBeheaded, 0, linesBeheaded.length);
|
||||
|
||||
for (String line : linesBeheaded) {
|
||||
if(line != null) {
|
||||
if (line != null) {
|
||||
if (line.matches(Regex.METHOD_FIND_REGEX)) { //MATCHES METHOD
|
||||
methods.add(new UMLMethod(line, name));
|
||||
} else if (line.matches(Regex.FIELD_FIND_REGEX)) { //MATCHES FIELD
|
||||
|
|
@ -33,23 +38,32 @@ public class UMLClass {
|
|||
@Override
|
||||
public String toString() {
|
||||
StringBuilder s = new StringBuilder();
|
||||
if(!packageString.equals("")){
|
||||
|
||||
if(manager.isShowWatermark()) {
|
||||
s.append("//TODO AUTO-GENERATED METHODS\n\n");
|
||||
}
|
||||
|
||||
if (!packageString.equals("")) {
|
||||
s.append("package ").append(packageString).append(";\n\n");
|
||||
}
|
||||
s.append("public class ").append(name).append(" {\n\n");
|
||||
s.append("public class ").append(fullName).append(" {\n\n");
|
||||
|
||||
for (UMLField field : fields){
|
||||
s.append(field.toString());
|
||||
if (fields.size() > 0) {
|
||||
for (UMLField field : fields) {
|
||||
s.append(field.toString());
|
||||
}
|
||||
|
||||
s.append("\n");
|
||||
}
|
||||
|
||||
s.append("\n");
|
||||
if (methods.size() > 0) {
|
||||
for (UMLMethod method : methods) {
|
||||
s.append(method.toString());
|
||||
}
|
||||
|
||||
for (UMLMethod method : methods){
|
||||
s.append(method.toString());
|
||||
s.append("}");
|
||||
}
|
||||
|
||||
s.append("\n}");
|
||||
|
||||
return s.toString();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="UMLClassView">
|
||||
<grid id="27dc6" binding="panel1" default-binding="true" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<grid id="27dc6" binding="panel1" default-binding="true" layout-manager="GridLayoutManager" row-count="4" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="3" left="3" bottom="3" right="3"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="500" height="400"/>
|
||||
|
|
@ -58,6 +58,11 @@
|
|||
<text value="Package Destination Path"/>
|
||||
</properties>
|
||||
</component>
|
||||
<vspacer id="1a17d">
|
||||
<constraints>
|
||||
<grid row="3" column="0" row-span="1" col-span="2" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
<component id="96709" class="javax.swing.JTextField" binding="packagePathField">
|
||||
<constraints>
|
||||
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||
|
|
@ -66,11 +71,6 @@
|
|||
</constraints>
|
||||
<properties/>
|
||||
</component>
|
||||
<vspacer id="1a17d">
|
||||
<constraints>
|
||||
<grid row="3" column="0" row-span="1" col-span="2" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
</children>
|
||||
</grid>
|
||||
<grid id="425fa" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
|
|
@ -103,9 +103,26 @@
|
|||
</grid>
|
||||
</children>
|
||||
</tabbedpane>
|
||||
<vspacer id="6f6a3">
|
||||
<component id="fa538" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="Settings:"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="8f883" class="javax.swing.JCheckBox" binding="watermarkBox">
|
||||
<constraints>
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<selected value="true"/>
|
||||
<text value="Add Watermark"/>
|
||||
</properties>
|
||||
</component>
|
||||
<vspacer id="5f3c8">
|
||||
<constraints>
|
||||
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
</children>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ import java.awt.datatransfer.DataFlavor;
|
|||
import java.awt.dnd.DnDConstants;
|
||||
import java.awt.dnd.DropTarget;
|
||||
import java.awt.dnd.DropTargetDropEvent;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.io.File;
|
||||
|
|
@ -15,6 +17,7 @@ public class UMLClassView {
|
|||
private JTextField pathField;
|
||||
private JButton convertFileButton;
|
||||
private JTextField packagePathField;
|
||||
private JCheckBox watermarkBox;
|
||||
|
||||
private UMLManager manager;
|
||||
|
||||
|
|
@ -24,15 +27,11 @@ public class UMLClassView {
|
|||
inputArea.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
String text = inputArea.getText();
|
||||
UMLClass umlClass = new UMLClass(text, "");
|
||||
outputArea.setText(umlClass.toString());
|
||||
refreshTextArea();
|
||||
}
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
String text = inputArea.getText();
|
||||
UMLClass umlClass = new UMLClass(text, "");
|
||||
outputArea.setText(umlClass.toString());
|
||||
refreshTextArea();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -62,6 +61,18 @@ public class UMLClassView {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
watermarkBox.addActionListener(e -> {
|
||||
manager.setShowWatermark(watermarkBox.isSelected());
|
||||
refreshTextArea();
|
||||
});
|
||||
}
|
||||
|
||||
private void refreshTextArea(){
|
||||
String text = inputArea.getText();
|
||||
UMLClass umlClass = new UMLClass(text, "", manager);
|
||||
outputArea.setText(umlClass.toString());
|
||||
}
|
||||
|
||||
public JPanel getPanel1() {
|
||||
|
|
@ -71,4 +82,8 @@ public class UMLClassView {
|
|||
public void setManager(UMLManager manager) {
|
||||
this.manager = manager;
|
||||
}
|
||||
|
||||
public boolean isWatermarkSelected(){
|
||||
return watermarkBox.isSelected();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@ import java.util.ArrayList;
|
|||
|
||||
public class UMLManager {
|
||||
|
||||
UMLClassView view;
|
||||
private UMLClassView view;
|
||||
private boolean showWatermark;
|
||||
|
||||
public UMLManager(UMLClassView view) {
|
||||
this.view = view;
|
||||
this.showWatermark = view.isWatermarkSelected();
|
||||
view.setManager(this);
|
||||
}
|
||||
|
||||
|
|
@ -20,7 +22,7 @@ public class UMLManager {
|
|||
ArrayList<UMLClass> classes = new ArrayList<>();
|
||||
|
||||
for (String text : classesText) {
|
||||
classes.add(new UMLClass(text, packageString));
|
||||
classes.add(new UMLClass(text, packageString, this));
|
||||
}
|
||||
|
||||
classes.forEach(e -> System.out.println(e.toString()));
|
||||
|
|
@ -38,4 +40,12 @@ public class UMLManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isShowWatermark() {
|
||||
return showWatermark;
|
||||
}
|
||||
|
||||
public void setShowWatermark(boolean showWatermark) {
|
||||
this.showWatermark = showWatermark;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public class UMLMethod {
|
|||
@Override
|
||||
public String toString() {
|
||||
StringBuilder returnString = new StringBuilder();
|
||||
returnString.append("\n ").append(encapsulation).append(returnType).append(name).append(" (");
|
||||
returnString.append(" ").append(encapsulation).append(returnType).append(name).append(" (");
|
||||
|
||||
for (int i = 0; i < argsNames.size(); i++) {
|
||||
returnString.append(argsTypes.get(i)).append(" ").append(argsNames.get(i));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue