ParagraphInstrument.java
package org.cyclopsgroup.caff.dp.wiki;
import java.io.PrintWriter;
import org.cyclopsgroup.caff.dp.Instrument;
public class ParagraphInstrument extends Instrument {
@Override
public int searchToOpen(String segment, Instrument parent) {
if (parent != null || segment.length() <= LINE_START.length()) {
return -1;
}
if (segment.startsWith(LINE_START)
&& Character.isLetterOrDigit(segment.charAt(LINE_START.length()))) {
return 0;
}
return -1;
}
@Override
public int open(String segment, PrintWriter out) {
out.write("<p>");
return LINE_START.length();
}
@Override
public int close(String segment, PrintWriter out) {
out.write("</p>" + System.lineSeparator());
return LINE_START.length();
}
@Override
public int searchToClose(String segment) {
return segment.equals(LINE_START) ? 0 : -1;
}
}