📄 formparser.java
字号:
package org.jbpm.web.formgen;
import java.util.*;
public class FormParser {
List formElements = new ArrayList();
int running = 0;
int startIndex = 0;
int endIndex = 0;
String formText;
public static List parseForm( String formText ) {
FormParser parser = new FormParser(formText);
parser.parse();
return parser.formElements;
}
FormParser(String formText) {
this.formText = formText;
}
void initialize() {
formElements = new ArrayList();
running = 0;
startIndex = 0;
endIndex = 0;
}
void addTextElement() {
if (running == -1) {
endIndex = formText.length();
}
else {
endIndex = running;
running = running + 2;
}
if (startIndex < endIndex) {
formElements.add(new TextElement(formText.substring(startIndex, endIndex)));
}
startIndex = running;
}
void addParameterElement() {
running = formText.indexOf("}", running);
endIndex = running;
if (startIndex < endIndex) {
formElements.add(new ParameterElement(formText.substring(startIndex, endIndex)));
}
running = running + 1;
startIndex = running;
}
void parse() {
initialize();
while (true) {
running = formText.indexOf("${", running);
if (running == -1) {
addTextElement();
return;
}
else {
addTextElement();
addParameterElement();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -