package com.redhat.ceylon.common.tool.example; import com.redhat.ceylon.common.tool.Option; import com.redhat.ceylon.common.tool.Subtool; import com.redhat.ceylon.common.tool.Tool; import com.redhat.ceylon.common.tools.CeylonTool; public class TestSubtoolTool implements Tool { public static class Subtool1 implements Tool { private boolean foo; @Option public void setFoo(boolean foo) { this.foo = foo; } public boolean getFoo() { return foo; } @Override public void initialize(CeylonTool mainTool) { } @Override public void run() throws Exception { } } public class Subtool2 implements Tool { private boolean bar; @Option public void setBar(boolean bar) { this.bar = bar; } public boolean getBar() { return bar; } @Override public void initialize(CeylonTool mainTool) { } @Override public void run() throws Exception { } } private Tool action; @Subtool(argumentName="action", order=1, classes={Subtool1.class, Subtool2.class}) public void setAction(Tool tool) { this.action = tool; } public Tool getAction() { return action; } @Override public void initialize(CeylonTool mainTool) { } @Override public void run() throws Exception { } }