package org.springframework.roo.addon.op4j; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.Service; import org.springframework.roo.model.JavaType; import org.springframework.roo.shell.CliAvailabilityIndicator; import org.springframework.roo.shell.CliCommand; import org.springframework.roo.shell.CliOption; import org.springframework.roo.shell.CommandMarker; /** * Commands for addon-op4j. * * @author Stefan Schmidt * @since 1.1 */ @Component @Service public class Op4jCommands implements CommandMarker { @Reference private Op4jOperations op4jOperations; @CliCommand(value = "op4j add", help = "Some helpful description") public void add( @CliOption(key = "class", mandatory = false, unspecifiedDefaultValue = "*", optionContext = "update,project", help = "The java type to apply the RooOp4j annotation to") final JavaType target) { op4jOperations.annotateType(target); } @CliAvailabilityIndicator({ "op4j setup", "Op4j add" }) public boolean isOp4jAvailable() { return op4jOperations.isOp4jInstallationPossible(); } @CliCommand(value = "op4j setup", help = "Setup Op4j addon") public void setup() { op4jOperations.setup(); } }