package sharpen.xobotos.output; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamOmitField; import org.eclipse.jdt.core.dom.ASTNode; import sharpen.xobotos.api.AbstractReference; public abstract class OutputType extends AbstractReference { @XStreamOmitField public static final OutputType NAKED_STUB = new NakedStubOutput(); @XStreamOmitField public static final OutputType NOTHING = new NullOutput(); @XStreamAlias(value = "remove-docs") private boolean _removeDocs; public abstract OutputMode getMode(); public OutputMode getModeForMember(ASTNode node) { return getMode(); } public boolean removeChainedConstructorInvocations() { return false; } public boolean removeStaticConstructor() { return false; } public boolean removeDocs() { return _removeDocs; } @Override public String toString() { return String.format("OutputType(%s)", getMode()); } }