ExitCodeGenerators class
A container and manager for multiple ExitCodeGenerator instances.
This class allows you to dynamically register and prioritize exit code generators. These generators are responsible for computing application exit codes based on exceptions thrown during execution.
It supports:
- Adding generators directly
- Mapping exceptions to exit codes using ExitCodeExceptionHandler
- Aggregating generators from multiple sources
- Resolving a final exit code from all registered generators
Example:
final generators = ExitCodeGenerators();
generators.add(Exception("App crashed"), MyExitCodeMapper());
int code = generators.getExitCode();
exit(code);
- Inheritance
-
- Object
- Iterable<
ExitCodeGenerator> - ExitCodeGenerators
Constructors
- ExitCodeGenerators()
- A container and manager for multiple ExitCodeGenerator instances.
Properties
- first → ExitCodeGenerator
-
The first element.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
-
iterator
→ Iterator<
ExitCodeGenerator> -
A new
Iterator
that allows iterating the elements of thisIterable
.no setteroverride - last → ExitCodeGenerator
-
The last element.
no setterinherited
- length → int
-
The number of elements in this Iterable.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → ExitCodeGenerator
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
Methods
-
add(
Throwable exception, ExitCodeExceptionHandler mapper) → void -
Adds a single ExitCodeExceptionHandler for a given
exception
. -
addAll(
Throwable exception, List< ExitCodeExceptionHandler> mappers) → void -
Adds a list of ExitCodeExceptionHandlers for a given
exception
, mapping each one to an internal_MappedExitCodeGenerator
. -
addAllGenerators(
List< ExitCodeGenerator> generators) → void - Adds a list of ExitCodeGenerator instances directly.
-
addAllMappers<
T extends ExitCodeExceptionHandler> (Throwable exception, Iterable< T> mappers) → void -
Adds a collection of ExitCodeExceptionHandlers for a given
exception
. -
addAllMultiGenerators<
T extends ExitCodeGenerator> (Iterable< T> generators) → void - Adds multiple ExitCodeGenerators to this manager.
-
addGenerator(
ExitCodeGenerator generator) → void - Adds a single ExitCodeGenerator and ensures all generators are ordered using AnnotationAwareOrderComparator.
-
any(
bool test(ExitCodeGenerator element)) → bool -
Checks whether any element of this iterable satisfies
test
.inherited -
cast<
R> () → Iterable< R> -
A view of this iterable as an iterable of
R
instances.inherited -
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element
.inherited -
elementAt(
int index) → ExitCodeGenerator -
Returns the
index
th element.inherited -
every(
bool test(ExitCodeGenerator element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<
T> (Iterable< T> toElements(ExitCodeGenerator element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
firstWhere(
bool test(ExitCodeGenerator element), {ExitCodeGenerator orElse()?}) → ExitCodeGenerator -
The first element that satisfies the given predicate
test
.inherited -
fold<
T> (T initialValue, T combine(T previousValue, ExitCodeGenerator element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< ExitCodeGenerator> other) → Iterable<ExitCodeGenerator> -
Creates the lazy concatenation of this iterable and
other
.inherited -
forEach(
void action(ExitCodeGenerator element)) → void -
Invokes
action
on each element of this iterable in iteration order.inherited -
getExitCode(
) → int - Resolves the final exit code by iterating over all registered ExitCodeGenerators and returning the first non-zero code.
-
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(ExitCodeGenerator element), {ExitCodeGenerator orElse()?}) → ExitCodeGenerator -
The last element that satisfies the given predicate
test
.inherited -
map<
T> (T toElement(ExitCodeGenerator e)) → Iterable< T> -
The current elements of this iterable modified by
toElement
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reduce(
ExitCodeGenerator combine(ExitCodeGenerator value, ExitCodeGenerator element)) → ExitCodeGenerator -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
singleWhere(
bool test(ExitCodeGenerator element), {ExitCodeGenerator orElse()?}) → ExitCodeGenerator -
The single element that satisfies
test
.inherited -
skip(
int count) → Iterable< ExitCodeGenerator> -
Creates an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(ExitCodeGenerator value)) → Iterable< ExitCodeGenerator> -
Creates an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
take(
int count) → Iterable< ExitCodeGenerator> -
Creates a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(ExitCodeGenerator value)) → Iterable< ExitCodeGenerator> -
Creates a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable = true}) → List< ExitCodeGenerator> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< ExitCodeGenerator> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
Returns a string representation of (some of) the elements of
this
.inherited -
where(
bool test(ExitCodeGenerator element)) → Iterable< ExitCodeGenerator> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test
.inherited -
whereType<
T> () → Iterable< T> -
Creates a new lazy Iterable with all elements that have type
T
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited