abstract class GlobalFlag[T] extends Flag[T]
Subclasses of GlobalFlag (that are defined in libraries) are "global" in the
sense that they are accessible by any application that depends on that library.
Regardless of where in a library a GlobalFlag is defined, a value for it can
be passed as a command-line flag by any binary that includes the library.
The set of defined GlobalFlags can be enumerated (via GlobalFlag.getAll)
by
the application.
A GlobalFlag must be declared as an object
(see below for Java):
import com.twitter.app.GlobalFlag object myFlag extends GlobalFlag[String]("default value", "this is my global flag")
All such global flag declarations in a given classpath are visible to and used by com.twitter.app.App.
A flag's name (as set on the command line) is its fully-qualified classname. For example, the flag
package com.twitter.server import com.twitter.app.GlobalFlag object port extends GlobalFlag[Int](8080, "the TCP port to which we bind")
is settable by the command-line flag -com.twitter.server.port=8080
.
Global flags may also be set by Java system properties with keys named in the same way. However, values supplied by flags override those supplied by system properties.
- Annotations
- @GlobalFlagVisible()
- Alphabetic
- By Inheritance
- GlobalFlag
- Flag
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GlobalFlag(help: String)(implicit _f: Flaggable[T], m: ClassTag[T])
_declaration
_declaration
If you'd like to declare a new GlobalFlag in Java, see JavaGlobalFlag._declaration
- help
documentation regarding usage of this Flag.
- new GlobalFlag(default: T, help: String)(implicit _f: Flaggable[T])
_declaration
_declaration
If you'd like to declare a new GlobalFlag in Java, see JavaGlobalFlag._declaration
- default
the default value used if the value is not specified by the user.
- help
documentation regarding usage of this Flag.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(): T
Return this flag's current value.
Return this flag's current value. The default value is returned when the flag has not otherwise been set.
- Definition Classes
- Flag
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def defaultString(): String
String representation of this flag's default value
String representation of this flag's default value
- Definition Classes
- Flag
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def get: Option[T]
Get the value if it has been set.
Get the value if it has been set.
- Definition Classes
- Flag
- Note
if no user-defined value has been set,
None
will be returned even when a default value is supplied.- See also
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getGlobalFlag: Flag[_]
Used by Flags.parseArgs to initialize Flag values.
Used by Flags.parseArgs to initialize Flag values.
- Note
Called via reflection assuming it will be a
static
method on a singletonobject
. This causes problems for Java developers who want to create a GlobalFlag as there is no good means for them to have it be astatic
method. Thus, Java devs must add a methodpublic static Flag<?> globalFlagInstance()
which returns the singleton instance of the flag. See JavaGlobalFlag for more details.
- def getUnparsed: Option[String]
Get the *unparsed* (as string) value if it has been set.
Get the *unparsed* (as string) value if it has been set.
- Definition Classes
- Flag
- Note
if no user-defined value has been set,
None
will be returned even when a default value is supplied.- See also
- def getValue: Option[T]
- Attributes
- protected
- Definition Classes
- GlobalFlag → Flag
- def getWithDefault: Option[T]
Get the value if it has been set or if there is a default value supplied.
Get the value if it has been set or if there is a default value supplied.
- Definition Classes
- Flag
- See also
Flag.get and Flag.isDefined if you are interested in determining if there is a supplied value.
- def getWithDefaultUnparsed: Option[String]
Get the *unparsed* (as string) value if it has been set or if there is a default value supplied.
Get the *unparsed* (as string) value if it has been set or if there is a default value supplied.
- Definition Classes
- Flag
- See also
Flag.get and Flag.isDefined if you are interested in determining if there is a supplied value.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val help: String
- Definition Classes
- Flag
- def isDefined: Boolean
True if the flag has been set.
True if the flag has been set.
- Definition Classes
- Flag
- Note
if no user-defined value has been set,
false
will be returned even when a default value is supplied.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def let[R](t: T)(f: => R): R
Override the value of this flag with
t
, only for the scope of the current com.twitter.util.Local for the given functionf
.Override the value of this flag with
t
, only for the scope of the current com.twitter.util.Local for the given functionf
. - def letClear[R](f: => R): R
Unset the value of this flag, such that isDefined will return
false
, only for the scope of the current com.twitter.util.Local for the given functionf
.Unset the value of this flag, such that isDefined will return
false
, only for the scope of the current com.twitter.util.Local for the given functionf
. - def letParse[R](arg: String)(f: => R): R
Override the value of this flag with
arg
String
parsed to this Flag'sT
type, only for the scope of the current com.twitter.util.Local for the given functionf
.Override the value of this flag with
arg
String
parsed to this Flag'sT
type, only for the scope of the current com.twitter.util.Local for the given functionf
. - val name: String
The "name", or "id", of this Flag.
The "name", or "id", of this Flag.
While not marked
final
, if a subclass overrides this value, then developers must set that flag via System properties as otherwise it will not be recognized with command-line arguments. e.g.-DyourGlobalFlagName=flagName
- Definition Classes
- GlobalFlag → Flag
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noArgumentOk: Boolean
Indicates whether or not the flag is valid without an argument.
Indicates whether or not the flag is valid without an argument.
- Definition Classes
- Flag
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def parse(): Unit
Parse this flag with no argument.
Parse this flag with no argument.
- Definition Classes
- Flag
- def parse(raw: String): Unit
Parse value
raw
into this flag.Parse value
raw
into this flag.- Definition Classes
- Flag
- def parsingDone: Boolean
- Attributes
- protected[this]
- Definition Classes
- GlobalFlag → Flag
- def reset(): Unit
Reset this flag's value
Reset this flag's value
- Definition Classes
- Flag
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
String representation of this flag in -foo='bar' format, suitable for being used on the command line.
String representation of this flag in -foo='bar' format, suitable for being used on the command line.
- Definition Classes
- Flag → AnyRef → Any
- def usageString: String
- Definition Classes
- Flag
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()