Package

wvlet.airframe

launcher

Permalink

package launcher

Visibility
  1. Public
  2. All

Type Members

  1. class ClassOptionSchema extends OptionSchema

    Permalink

    OptionSchema created from a class definition

  2. class CommandLauncher extends LogSupport

    Permalink

    Command launcher.

    Command launcher.

    class MyCommand(@option(prefix="-h,--help", description="display help", isHelp=true) help:Boolean) {
      @command(description="Say hello")
      def hello(@option(prefix="-r", description="repeat times")
                repeat:Int=1,
                @argument
                message:String = "hello") {
         for(i <- 0 until repeat) println(message)
      }
    }
    
    Launcher.execute[MyCommand]("hello -r 3")  // hello x 3
  3. trait HelpMessagePrinter extends AnyRef

    Permalink

    Interface for printing help messages

  4. class Launcher extends AnyRef

    Permalink
  5. case class LauncherInfo(name: String, description: String, usage: String) extends Product with Serializable

    Permalink
  6. case class LauncherInstance(launcher: CommandLauncher, instance: Any) extends Product with Serializable

    Permalink
  7. case class LauncherResult(launcherStack: List[LauncherInstance], result: Option[Any]) extends Product with Serializable

    Permalink

    Command execution results

  8. class MethodOptionSchema extends OptionSchema

    Permalink

    OptionSchema created from a method definition

  9. class OptionParser extends LogSupport

    Permalink

    CommandTrait-line argument parser

  10. sealed trait OptionSchema extends LogSupport

    Permalink

    Schema of the command line options

  11. sealed trait StringTree extends AnyRef

    Permalink

    Holder of structured data consisting of named values.

    Holder of structured data consisting of named values. ValueHolder is immutable, so the set operations in this class return another ValueHolder and never modify the original ValueHolder.

    A(a, B(b, c))
    
    { a: apple, B:{b:book, c:car} }
    
    val n1 = EmptyNode.set("a", apple)  =>  Node(a -> Leaf(apple))
    val n2 = n1.set("B.b", "book")
    => Node(a -> Leaf(apple), B -> EmptyNode.set("b", "book"))
    => Node(a -> apple, B->Node(b -> Leaf(book)))
    val n3 = n2.set("B.c", "car") => Node(a ->apple, B->Node(b -> Leaf(book), c->Leaf(car)))
    
    

  12. class argument extends Annotation with Annotation with ClassfileAnnotation

    Permalink
  13. class command extends Annotation with Annotation with ClassfileAnnotation

    Permalink
  14. class option extends Annotation with Annotation with ClassfileAnnotation

    Permalink

Value Members

  1. object ClassOptionSchema extends LogSupport

    Permalink
  2. object HelpMessagePrinter extends LogSupport

    Permalink
  3. object Launcher extends LogSupport

    Permalink

    Command launcher

  4. object OptionParser extends LogSupport

    Permalink

    Creates option parsers

  5. object StringTree extends LogSupport

    Permalink
  6. object StringTreeCodec extends MessageCodec[StringTree]

    Permalink

Ungrouped