public interface Setter<T>
This abstracts away the difference between a field and a setter method, which object we are setting the value to, and/or how we handle collection fields differently.
Getter| Modifier and Type | Method and Description |
|---|---|
void |
addValue(T value)
Adds/sets a value to the property of the option bean.
|
AnnotatedElement |
asAnnotatedElement()
Returns the
AnnotatedElement by which you can access annotations written on this setter. |
FieldSetter |
asFieldSetter()
If this setter encapsulates a field, return the direct access to that field as
FieldSetter. |
Class<T> |
getType()
Gets the type of the underlying method/field.
|
boolean |
isMultiValued()
Whether this setter is intrinsically multi-valued.
|
void addValue(T value) throws CmdLineException
A Setter object has an implicit knowledge about the property it's setting,
and the instance of the option bean.
CmdLineExceptionboolean isMultiValued()
When parsing arguments (instead of options), intrinsically multi-valued setters consume
all the remaining arguments. So, if the setter can store multiple values,
this method should return true.
This characteristics of a setter doesn't affect option parsing at all; any options can be specified multiple times. In many cases, this is a no-op--but when your shell script expands multiple environment variables (each of which may contain options), tolerating such redundant options can be useful.
FieldSetter asFieldSetter()
FieldSetter. This method serves two purposes:
OptionHandlers bypass the collection/array handling of fields.
This is useful if you're defining an option handler that produces array or collection
from a single argument.FieldSetter.getValueList()).null if this setter wraps a method.AnnotatedElement asAnnotatedElement()
AnnotatedElement by which you can access annotations written on this setter.
This is the same AnnotatedElement that had Option/Argument.
This enables OptionHandler to further tweak its behavior based on additional annotations.
Copyright © 2003–2019 Kohsuke Kawaguchi. All rights reserved.