Packages

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
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiChoiceSetting
  2. Clearable
  3. Setting
  4. Mutable
  5. SettingValue
  6. AbsSetting
  7. AbsSettingValue
  8. Ordered
  9. Comparable
  10. AnyRef
  11. 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. All

Type Members

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

Value Members

  1. def <(that: Setting): Boolean
    Definition Classes
    Ordered
  2. def <=(that: Setting): Boolean
    Definition Classes
    Ordered
  3. def >(that: Setting): Boolean
    Definition Classes
    Ordered
  4. def >=(that: Setting): Boolean
    Definition Classes
    Ordered
  5. def abbreviations: List[String]
    Definition Classes
    SettingAbsSetting
  6. def add(arg: String): Unit

    Add a named choice to the multichoice value.

  7. val choices: List[String]
    Definition Classes
    MultiChoiceSettingAbsSetting
  8. def clear(): Unit
    Definition Classes
    MultiChoiceSetting → Clearable
  9. def compare(that: Setting): Int
    Definition Classes
    AbsSetting → Ordered
  10. def compareTo(that: Setting): Int
    Definition Classes
    Ordered → Comparable
  11. def compute(): Unit

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

  12. def contains(s: String): Boolean
  13. def contains(choice: E.Value): Boolean
  14. val default: Option[List[String]]
  15. def dependencies: List[(Setting, String)]
    Definition Classes
    SettingAbsSetting
  16. def dependsOn(s: Setting, value: String): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  17. def deprecationMessage: Option[String]
    Definition Classes
    SettingAbsSetting
  18. def descriptions: List[String]
  19. def disable(choice: E.Value): Unit
  20. val domain: E
  21. def enable(choice: E.Value): Unit
  22. 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
  23. def errorAndValue[T](msg: String, x: T): T

    Issue error and return

    Issue error and return

    Definition Classes
    AbsSetting
  24. def hashCode(): Int
    Definition Classes
    AbsSetting → AnyRef → Any
  25. def help: String

    The help message to be printed if isHelping.

    The help message to be printed if isHelping.

    Definition Classes
    MultiChoiceSettingAbsSetting
  26. val helpArg: String
  27. val helpDescription: String
    Definition Classes
    SettingAbsSetting
  28. def helpSyntax: String
    Definition Classes
    SettingAbsSetting
  29. def internalOnly(): MultiChoiceSetting.this.type
    Definition Classes
    AbsSetting
  30. def isAdvanced: Boolean

    These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.

    These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.

    Definition Classes
    AbsSetting
  31. def isDefault: Boolean
    Definition Classes
    SettingValue → AbsSettingValue
  32. def isDeprecated: Boolean
    Definition Classes
    AbsSetting
  33. def isForDebug: Boolean
    Definition Classes
    AbsSetting
  34. 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
  35. def isInternalOnly: Boolean
    Definition Classes
    AbsSetting
  36. def isPrivate: Boolean
    Definition Classes
    AbsSetting
  37. def isSetByUser: Boolean
    Definition Classes
    SettingValue
  38. def isStandard: Boolean
    Definition Classes
    AbsSetting
  39. val name: String
    Definition Classes
    SettingAbsSetting
  40. def postSetHook(): Unit
    Definition Classes
    Setting → SettingValue
  41. def respondsTo(label: String): Boolean
    Definition Classes
    AbsSetting
  42. def toString(): String
    Definition Classes
    AbsSetting → AnyRef → Any
  43. 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
  44. 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
  45. 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
  46. def unparse: List[String]
    Definition Classes
    MultiChoiceSettingAbsSetting
  47. def value: T
    Definition Classes
    SettingValue → AbsSettingValue
  48. def valueSetByUser: Option[T]
    Definition Classes
    SettingValue
  49. def value_=(arg: T): Unit
    Definition Classes
    SettingValue
  50. 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 #3462. The immutable side doesn't exist yet anyway.

    Definition Classes
    SettingAbsSetting
  51. def withDefault(value: T): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  52. def withDeprecationMessage(msg: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  53. def withHelpSyntax(s: String): MultiChoiceSetting.this.type
    Definition Classes
    SettingAbsSetting
  54. def withPostSetHook(f: (MultiChoiceSetting.this.type) ⇒ Unit): MultiChoiceSetting.this.type
    Definition Classes
    Setting
  55. object ChoiceOrVal

Shadowed Implicit Value Members

  1. def <(that: MultiChoiceSetting[E]): Boolean
    Implicit
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.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] to math.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] to math.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] to math.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] to math.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] to math.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