package com.javadude.annotation.processors.template;
import java.io.IOException;
import java.io.Writer;
import com.javadude.annotation.processors.Symbols;
public class Line extends CompositeProcessor {
private Condition condition;
private static final String NL = System.getProperty("line.separator");
public Line(int line, Condition condition) {
super(line);
this.condition = condition;
}
@Override public void process(Symbols symbols, Writer writer, int ignoredLine, String padding) {
if (condition != null && !condition.test(symbols, getLine()))
return;
processChildren(symbols, writer, padding);
try {
writer.write(Line.NL);
} catch (IOException e) {
throw new ExpressionException("IO Error while writing generated code", e);
}
}
}