Packages

  • package root
    Definition Classes
    root
  • package de
    Definition Classes
    root
  • package h2b
    Definition Classes
    de
  • package scala
    Definition Classes
    h2b
  • package lib
    Definition Classes
    scala
  • package util

    This is a Scala library of programming utilities.

    This is a Scala library of programming utilities. It is not intended to comprise a systematic collection but contains some tools that may be useful for some applications.

    Some highlights are a number of probability distributions, a command-line interface, a configuration package, an RSS utility, a class to handle temporary directories, control structures, a logger trait and a timer.

    Definition Classes
    lib
  • package cli

    Define the parameters of your command line as instances of

    Define the parameters of your command line as instances of

    - FlagParameter: no specific value, just signals that it is there,

    - HelpParameter: signals that the user needs some help (if given as a command-line argument, other parameters are not computed and no parse exceptions are thrown),

    - ValueParameter[V]: has exactly one value of type V,

    - ListParameter[V]: has a number of values of type V and

    - MainParameter: has a number of String values.

    ValueParameter[V] and ListParameter[V] need a converter to convert a string to the value type V. You might want to import the object Converter that provides converters for standard data types implicitly by:

    import de.h2b.scala.lib.util.cli.Converter._

    Then create a new instance of CommandLine with a set of parameters. The resulting object then can parse a string sequence or an array of strings for parameters and their values. If something goes wrong, either a ParameterException (some argument does not obey to the format specified by its parameter) or a CommandLineException (something is wrong with the arguments as a whole) is thrown.

    Finally query the original parameter instances for its value or values field.

    The usage method of CommandLine constructs a string suitable for a usage message.

    Definition Classes
    util
    Example:
    1. import de.h2b.scala.lib.util.cli._
      import de.h2b.scala.lib.util.cli.Converter._
      val overwrite = FlagParameter(Set("-o", "--overwrite"), "overwrite target")
      val mode = ValueParameter(Set("-m"), "mode", default=Some(0))
      val main = MainParameter("source target", arity=2)
      CommandLine(Set(overwrite, mode, main)).parse("-o -m 1 from to".split(' '))
      println(overwrite.value) //> Some(true)
      println(mode.value) //> Some(1)
      println(main.values) //> Some(WrappedArray(from, to))
  • CommandLine
  • CommandLineException
  • Converter
  • FlagParameter
  • HelpParameter
  • ListParameter
  • MainParameter
  • MultipleValues
  • Parameter
  • ParameterException
  • SingleValue
  • ValueParameter
c

de.h2b.scala.lib.util.cli

ListParameter

case class ListParameter[V](names: Set[String], description: String, arity: Int, required: Boolean = false, defaults: Option[Seq[V]] = None)(implicit convert: (String) => Try[V]) extends Parameter[V] with MultipleValues[V] with Converter[V] with Product with Serializable

A list parameter has a number of values specified by its arity.

The values can be retrieved as a sequence by the values option.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ListParameter
  2. Serializable
  3. Product
  4. Equals
  5. Converter
  6. MultipleValues
  7. Parameter
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ListParameter(names: Set[String], description: String, arity: Int, required: Boolean = false, defaults: Option[Seq[V]] = None)(implicit convert: (String) => Try[V])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val arity: Int

    Specification of values following this parameter name:

    Specification of values following this parameter name:

    - positive number: exactly this number of values must follow this parameter name

    - negative number: at least abs(this number) of values must follow this parameter name (variable arity)

    - zero: no values must follow this parameter name

    Values following this parameter name will be consumed up to the next parameter.

    Definition Classes
    ListParameterParameter
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. implicit val convert: (String) => Try[V]
    Definition Classes
    ListParameterConverter
  8. val defaults: Option[Seq[V]]
    Definition Classes
    ListParameterMultipleValues
  9. val description: String
    Definition Classes
    ListParameterParameter
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. val hidden: Boolean
    Definition Classes
    Parameter
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. val names: Set[String]
    Definition Classes
    ListParameterParameter
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def productElementNames: Iterator[String]
    Definition Classes
    Product
  19. val required: Boolean
    Definition Classes
    ListParameterParameter
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def usage(namesColWidth: Int = 0): String

    A usage message of this parameter in a two-column layout.

    A usage message of this parameter in a two-column layout.

    The first column shows the names in one line, the second column shows one ore more lines of description. The lines of the description are taken as given, no automatic word wrap is done.

    namesColWidth

    minimum width of the names column (defaults to 0)

    returns

    the usage message

    Definition Classes
    Parameter
  22. def values: Option[Seq[V]]
    Definition Classes
    MultipleValues
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Converter[V]

Inherited from MultipleValues[V]

Inherited from Parameter[V]

Inherited from AnyRef

Inherited from Any

Ungrouped