package com.link_intersystems.io;
class StringBuilderMarker {
private int begin = -1;
private StringBuilder stringBuilder;
private int end = -1;
public StringBuilderMarker(StringBuilder stringBuilder) {
this.stringBuilder = stringBuilder;
}
public void delete() {
if (begin > -1) {
stringBuilder.delete(begin, end);
}
}
public void begin() {
this.begin = stringBuilder.length();
this.end = stringBuilder.length();
}
public void end() {
this.end = stringBuilder.length();
}
public void appendBeforeMark(String string) {
stringBuilder.insert(begin, string);
int begin = this.begin;
int end = this.end;
if (begin < 0) {
begin = stringBuilder.length();
}
if (end < 0) {
end = stringBuilder.length();
}
int diff = end - begin;
this.begin += string.length();
this.end = this.begin + diff;
}
}