DartdocOption<T> class

An abstract class for interacting with dartdoc options.

This class and its implementations allow Dartdoc to declare options that are both defined in a configuration file and specified via the command line, with searching the directory tree for a proper file and overriding file options with the command line built-in. A number of sanity checks are also built in to these classes so that file existence can be verified, types constrained, and defaults provided.

This class caches the current working directory from the ResourceProvider; do not attempt to change it during the life of an instance.

Use via implementations DartdocOptionSet, DartdocOptionArgFile, DartdocOptionArgOnly, and DartdocOptionFileOnly.



DartdocOption(String name, T defaultsTo, String help, OptionKind optionIs, bool mustExist, ConvertYamlToType<T> _convertYamlToType, ResourceProvider resourceProvider)


argParser ArgParser
defaultsTo → T
This is the value returned if we couldn't find one otherwise.
hashCode int
The hash code for this object. [...]
read-only, inherited
help String
Text string for help passed on in command line options.
isDir bool
Set to true if this option represents the name of a directory.
isFile bool
Set to true if this option represents the name of a file.
isGlob bool
Set to true if this option represents a glob.
keys Iterable<String>
All object names starting at the root.
mustExist bool
Set to true if DartdocOption subclasses should validate that the directory or file exists. Does not imply validation of defaultsTo, and requires that one of isDir or isFile is set.
name String
The name of this option, not including the names of any parents.
optionIs OptionKind
parent DartdocOption<Object>
The parent of this DartdocOption, or null if this is the root.
read / write
resourceProvider ResourceProvider
root DartdocOption<Object>
The root DartdocOption containing this object, or this if the object has no parent.
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


add(DartdocOption<Object> option) → void
Adds a DartdocOption to the children of this DartdocOption.
addAll(Iterable<DartdocOption<Object>> options) → void
Adds a list of dartdoc options to the children of this DartdocOption.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
parseArguments(List<String> arguments) → void
Call this with argv to set up the argument overrides. Applies to all children.
toString() String
A string representation of this object. [...]
traverse(void visit(DartdocOption<Object> option)) → void
Apply the function visit to this and all children.
valueAt(Folder dir) → T
Return the calculated value of this option, given the directory as context. [...]
valueAtCurrent() → T
Calls valueAt with the working directory at the start of the program.
valueAtElement(Element element) → T
Calls valueAt on the directory this element is defined in.


operator ==(Object other) bool
The equality operator. [...]
operator [](String name) DartdocOption
Get the immediate child of this node named name.