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. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  38. def hashCode(): Int
    Definition Classes
    AbsSetting → AnyRef → Any
  39. def help: String

    The help message to be printed if isHelping.

    The help message to be printed if isHelping.

    Definition Classes
    MultiChoiceSettingAbsSetting
  40. val helpArg: String
  41. val helpDescription: String
    Definition Classes
    SettingAbsSetting
  42. def helpSyntax: String
    Definition Classes
    SettingAbsSetting
  43. def internalOnly(): MultiChoiceSetting.this.type
    Definition Classes
    AbsSetting
  44. 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
  45. def isDefault: Boolean
    Definition Classes
    SettingValue → AbsSettingValue
  46. def isDeprecated: Boolean
    Definition Classes
    AbsSetting
  47. 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
  48. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  49. def isInternalOnly: Boolean
    Definition Classes
    AbsSetting
  50. def isPrivate: Boolean
    Definition Classes
    AbsSetting
  51. def isSetByUser: Boolean
    Definition Classes
    SettingValue
  52. def isStandard: Boolean
    Definition Classes
    AbsSetting
  53. def isVerbose: Boolean
    Definition Classes
    AbsSetting
  54. def isWarning: Boolean
    Definition Classes
    AbsSetting
  55. val name: String
    Definition Classes
    SettingAbsSetting
  56. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  57. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  58. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  59. def postSetHook(): Unit
    Definition Classes
    Setting → SettingValue
  60. def respondsTo(label: String): Boolean
    Definition Classes
    AbsSetting
  61. val setByUser: Boolean
    Attributes
    protected
    Definition Classes
    SettingValue
  62. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  63. def toString(): String
    Definition Classes
    AbsSetting → AnyRef → Any
  64. 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
  65. 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
  66. 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
  67. def unparse: List[String]
    Definition Classes
    MultiChoiceSettingAbsSetting
  68. var v: T
    Attributes
    protected
    Definition Classes
    MultiChoiceSetting → SettingValue
  69. def value: T
    Definition Classes
    SettingValue → AbsSettingValue
  70. def valueSetByUser: Option[T]
    Definition Classes
    SettingValue
  71. def value_=(arg: T): Unit
    Definition Classes
    SettingValue
  72. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  74. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  75. 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
  76. def withDeprecationMessage(msg: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  77. def withHelpSyntax(s: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  78. def withPostSetHook(f: (MultiChoiceSetting.this.type) => Unit): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  79. 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 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
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  2. 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