package edu.sc.seis.sod.status;
public abstract class StringTree {
public StringTree(String actorName, boolean status) {
if (actorName == null || actorName.length() == 0) {throw new IllegalArgumentException("actorName cannot be empty");}
this.actorName = actorName;
this.status = status;
}
public String toString() {
return toString(0);
}
public String toString(int indentationLevel) {
return getIndent(indentationLevel) + actorName + ":"
+ (status ? OK : FAIL);
}
public boolean isSuccess() {
return status;
}
protected String getIndent(int indentationLevel) {
StringBuffer buff = new StringBuffer(indentationLevel * 2 + 1);
for(int i = 0; i < (indentationLevel - 1)*2; i++){
buff.append(' ');
}
if(indentationLevel > 0){
buff.append("|--");
}
return buff.toString();
}
protected String actorName;
protected boolean status;
public static final String OK = "OK";
public static final String FAIL = "FAIL";
}