/** * generate a string representation of the rule * * @return a string representation of the rule */ public String toString() { StringWriter stringWriter = new StringWriter(); stringWriter.write("RULE "); stringWriter.write(getName()); stringWriter.write("\n"); if (isInterface()) { stringWriter.write("INTERFACE "); } else { stringWriter.write("CLASS "); } if (isOverride()) { stringWriter.write("^"); } stringWriter.write(getTargetClass()); stringWriter.write('\n'); stringWriter.write("METHOD "); stringWriter.write(getTargetMethod()); stringWriter.write('\n'); stringWriter.write(getTargetLocation().toString()); stringWriter.write('\n'); if (event != null) { event.writeTo(stringWriter); } else { stringWriter.write("BIND NOTHING\n"); } if (condition != null) { condition.writeTo(stringWriter); } else { stringWriter.write("COND TRUE\n"); } if (action != null) { action.writeTo(stringWriter); } else { stringWriter.write("DO NOTHING\n"); } return stringWriter.toString(); }