Trait

caseapp

Command

Related Doc: package caseapp

Permalink

trait Command extends DefaultCommandArgsApp with DelayedInit

Have a sealed trait extend this for its case class children to become commands.

Extends DelayedInit like App does.

Like with App, the remaining arguments are accessible with the method remainingArgs.

Example

sealed trait DemoCommand extends Command

case class First(
) extends DemoCommand {

  // ...

}

case class Second(
) extends DemoCommand {

  // ...

}

object MyApp extends CommandAppOf[DemoCommand]

In the example above, MyApp now has a main method, that accepts arguments like first a b or second c d. In the first case, it will create a First, and call its body (whose initialization is delayed thanks to delayed initialization). In the second case, it will create a Second instead, and call its body too.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Command
  2. DelayedInit
  3. DefaultCommandArgsApp
  4. CommandArgsApp
  5. DefaultArgsApp
  6. ArgsApp
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(): Unit

    Permalink
    Definition Classes
    CommandArgsApp
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def command: Option[Either[String, String]]

    Permalink
    Definition Classes
    DefaultCommandArgsAppCommandArgsApp
  8. def delayedInit(body: ⇒ Unit): Unit

    Permalink
    Definition Classes
    Command → DelayedInit
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def remainingArgs: Seq[String]

    Permalink
    Definition Classes
    DefaultArgsAppArgsApp
  19. def setCommand(cmd: Option[Either[String, String]]): Unit

    Permalink
    Definition Classes
    DefaultCommandArgsAppCommandArgsApp
  20. def setRemainingArgs(remainingArgs: Seq[String]): Unit

    Permalink
    Definition Classes
    DefaultArgsAppArgsApp
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from DelayedInit

Inherited from DefaultCommandArgsApp

Inherited from CommandArgsApp

Inherited from DefaultArgsApp

Inherited from ArgsApp

Inherited from AnyRef

Inherited from Any

Ungrouped