class MultiChoiceSetting[E <: MultiChoiceEnumeration] extends Setting with Clearable

A Setting that collects string-valued settings from an enumerated domain.

  • These choices can be turned on or off: "-option:on,-off"
  • If an option is set both on and off, then the option is on
  • The choice "_" enables all choices that have not been explicitly disabled

Arguments can be provided in colonated or non-colonated mode, i.e. "-option a b" or "-option:a,b". Note that arguments starting with a "-" can only be provided in colonated mode, otherwise they are interpreted as a new option.

In non-colonated mode, the setting stops consuming arguments at the first non-choice, i.e. "-option a b c" only consumes "a" and "b" if "c" is not a valid choice.

Source
MutableSettings.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiChoiceSetting
  2. Clearable
  3. Setting
  4. SettingValue
  5. AbsSetting
  6. AbsSettingValue
  7. Ordered
  8. Comparable
  9. AnyRef
  10. Any
Implicitly
  1. by orderingToOrdered
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type T = E.ValueSet
    Definition Classes
    MultiChoiceSetting → AbsSettingValue

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toany2stringadd[MultiChoiceSetting[E]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (MultiChoiceSetting[E], B)
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toArrowAssoc[MultiChoiceSetting[E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def <(that: Setting): Boolean
    Definition Classes
    Ordered
  6. def <=(that: Setting): Boolean
    Definition Classes
    Ordered
  7. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def >(that: Setting): Boolean
    Definition Classes
    Ordered
  9. def >=(that: Setting): Boolean
    Definition Classes
    Ordered
  10. def abbreviations: List[String]
    Definition Classes
    SettingAbsSetting
  11. def add(arg: String): Unit

    Add a named choice to the multichoice value.

  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. val choices: List[String]
    Definition Classes
    MultiChoiceSettingAbsSetting
  14. def clear(): Unit
    Definition Classes
    MultiChoiceSetting → Clearable
  15. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  16. def compare(that: Setting): Int
    Definition Classes
    AbsSetting → Ordered
  17. def compareTo(that: Setting): Int
    Definition Classes
    Ordered → Comparable
  18. def compute(): Unit

    (Re)compute from current yeas, nays, wildcard status.

  19. def contains(s: String): Boolean
  20. def contains(choice: E.Value): Boolean
  21. val default: Option[List[String]]
  22. def dependencies: List[(Setting, String)]
    Definition Classes
    SettingAbsSetting
  23. def dependsOn(s: Setting, value: String): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  24. def deprecationMessage: Option[String]
    Definition Classes
    SettingAbsSetting
  25. def descriptions: List[String]
  26. def disable(choice: E.Value): Unit
  27. val domain: E
  28. def enable(choice: E.Value): Unit
  29. def ensuring(cond: (MultiChoiceSetting[E]) => Boolean, msg: => Any): MultiChoiceSetting[E]
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toEnsuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. def ensuring(cond: (MultiChoiceSetting[E]) => Boolean): MultiChoiceSetting[E]
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toEnsuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  31. def ensuring(cond: Boolean, msg: => Any): MultiChoiceSetting[E]
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toEnsuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  32. def ensuring(cond: Boolean): MultiChoiceSetting[E]
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toEnsuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(that: Any): Boolean

    Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.

    Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.

    Definition Classes
    AbsSetting → AnyRef → Any
  35. def errorAndValue[A](msg: String, x: A): A

    Issue error and return the value.

    Issue error and return the value.

    Definition Classes
    AbsSetting
  36. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  37. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toStringFormat[MultiChoiceSetting[E]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  38. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  39. def hashCode(): Int
    Definition Classes
    AbsSetting → AnyRef → Any
  40. def help: String

    The help message to be printed if isHelping.

    The help message to be printed if isHelping.

    Definition Classes
    MultiChoiceSettingAbsSetting
  41. val helpArg: String
  42. val helpDescription: String
    Definition Classes
    SettingAbsSetting
  43. def helpSyntax: String
    Definition Classes
    SettingAbsSetting
  44. def internalOnly(): MultiChoiceSetting.this.type
    Definition Classes
    AbsSetting
  45. def isAdvanced: Boolean

    Standard options are shown on the -help output, advanced on -X, private on -Y, warning on -W, verbose on -V.

    Standard options are shown on the -help output, advanced on -X, private on -Y, warning on -W, verbose on -V.

    The single char options themselves, including -P, are explained on -help. Additionally, -Werror is on -help and -Xlint on -W.

    Definition Classes
    AbsSetting
  46. def isDefault: Boolean
    Definition Classes
    SettingValue → AbsSettingValue
  47. def isDeprecated: Boolean
    Definition Classes
    AbsSetting
  48. def isHelping: Boolean

    If this method returns true, print the help message and exit.

    If this method returns true, print the help message and exit.

    Definition Classes
    MultiChoiceSettingAbsSetting
  49. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  50. def isInternalOnly: Boolean
    Definition Classes
    AbsSetting
  51. def isPrivate: Boolean
    Definition Classes
    AbsSetting
  52. def isSetByUser: Boolean
    Definition Classes
    SettingValue
  53. def isStandard: Boolean
    Definition Classes
    AbsSetting
  54. def isVerbose: Boolean
    Definition Classes
    AbsSetting
  55. def isWarning: Boolean
    Definition Classes
    AbsSetting
  56. val name: String
    Definition Classes
    SettingAbsSetting
  57. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  58. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  59. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  60. def postSetHook(): Unit
    Definition Classes
    Setting → SettingValue
  61. def respondsTo(label: String): Boolean
    Definition Classes
    AbsSetting
  62. val setByUser: Boolean
    Attributes
    protected
    Definition Classes
    SettingValue
  63. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  64. def toString(): String
    Definition Classes
    AbsSetting → AnyRef → Any
  65. def tryToSet(args: List[String]): Some[List[String]]

    After correct Setting has been selected, tryToSet is called with the remainder of the command line.

    After correct Setting has been selected, tryToSet is called with the remainder of the command line. It consumes any applicable arguments and returns the unconsumed ones.

    Definition Classes
    MultiChoiceSettingAbsSetting
  66. def tryToSetColon(args: List[String]): Some[List[String]]

    Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list.

    Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list. It returns List[String] for consistency with tryToSet, and should return its incoming arguments unmodified on failure, and Nil on success.

    Definition Classes
    MultiChoiceSettingAbsSetting
  67. def tryToSetFromPropertyValue(s: String): Unit

    Attempt to set from a properties file style property value.

    Attempt to set from a properties file style property value. Currently used by Eclipse SDT only. !!! Needs test.

    Definition Classes
    MultiChoiceSettingAbsSetting
  68. def unparse: List[String]
    Definition Classes
    MultiChoiceSettingAbsSetting
  69. var v: T
    Attributes
    protected
    Definition Classes
    MultiChoiceSetting → SettingValue
  70. def value: T
    Definition Classes
    SettingValue → AbsSettingValue
  71. def valueSetByUser: Option[T]
    Definition Classes
    SettingValue
  72. def value_=(arg: T): Unit
    Definition Classes
    SettingValue
  73. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  74. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  75. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  76. def withAbbreviation(s: String): MultiChoiceSetting.this.type

    In mutable Settings, these return the same object with a var set.

    In mutable Settings, these return the same object with a var set. In immutable, of course they will return a new object, which means we can't use "this.type", at least not in a non-casty manner, which is unfortunate because we lose type information without it.

    ...but now they're this.type because of scala/bug#3462. The immutable side doesn't exist yet anyway.

    Definition Classes
    SettingAbsSetting
  77. def withDefault(value: T): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  78. def withDeprecationMessage(msg: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  79. def withHelpSyntax(s: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  80. def withPostSetHook(f: (MultiChoiceSetting.this.type) => Unit): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  81. object ChoiceOrVal

Shadowed Implicit Value Members

  1. def <(that: MultiChoiceSetting[E]): Boolean
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<(that)
    Definition Classes
    Ordered
  2. def <=(that: MultiChoiceSetting[E]): Boolean
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<=(that)
    Definition Classes
    Ordered
  3. def >(that: MultiChoiceSetting[E]): Boolean
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>(that)
    Definition Classes
    Ordered
  4. def >=(that: MultiChoiceSetting[E]): Boolean
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>=(that)
    Definition Classes
    Ordered
  5. def compare(that: MultiChoiceSetting[E]): Int
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compare(that)
    Definition Classes
    Ordered
  6. def compareTo(that: MultiChoiceSetting[E]): Int
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] tomath.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compareTo(that)
    Definition Classes
    Ordered → Comparable

Deprecated Value Members

  1. def [B](y: B): (MultiChoiceSetting[E], B)
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] toArrowAssoc[MultiChoiceSetting[E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Clearable

Inherited from Setting

Inherited from math.Ordered[Setting]

Inherited from Comparable[Setting]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion orderingToOrdered fromMultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]]

Inherited by implicit conversion any2stringadd fromMultiChoiceSetting[E] to any2stringadd[MultiChoiceSetting[E]]

Inherited by implicit conversion StringFormat fromMultiChoiceSetting[E] to StringFormat[MultiChoiceSetting[E]]

Inherited by implicit conversion Ensuring fromMultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]]

Inherited by implicit conversion ArrowAssoc fromMultiChoiceSetting[E] to ArrowAssoc[MultiChoiceSetting[E]]

Ungrouped