Interface Setter<T>
-
- All Known Implementing Classes:
FieldSetter,MethodSetter
public interface Setter<T>Abstraction of the value setter.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.
- Author:
- Kohsuke Kawaguchi
- See Also:
Getter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddValue(T value)Adds/sets a value to the property of the option bean.java.lang.reflect.AnnotatedElementasAnnotatedElement()Returns theAnnotatedElementby which you can access annotations written on this setter.FieldSetterasFieldSetter()If this setter encapsulates a field, return the direct access to that field asFieldSetter.java.lang.Class<T>getType()Gets the type of the underlying method/field.booleanisMultiValued()Whether this setter is intrinsically multi-valued.
-
-
-
Method Detail
-
addValue
void addValue(T value) throws CmdLineException
Adds/sets a value to the property of the option bean.A
Setterobject has an implicit knowledge about the property it's setting, and the instance of the option bean.- Throws:
CmdLineException
-
getType
java.lang.Class<T> getType()
Gets the type of the underlying method/field.
-
isMultiValued
boolean isMultiValued()
Whether this setter is intrinsically multi-valued.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.
-
asFieldSetter
FieldSetter asFieldSetter()
If this setter encapsulates a field, return the direct access to that field asFieldSetter. This method serves two purposes:- This lets
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. - The other is to retrieve the current value of the field (via
FieldSetter.getValueList()).
- Returns:
nullif this setter wraps a method.
- This lets
-
asAnnotatedElement
java.lang.reflect.AnnotatedElement asAnnotatedElement()
Returns theAnnotatedElementby which you can access annotations written on this setter. This is the sameAnnotatedElementthat hadOption/Argument.This enables
OptionHandlerto further tweak its behavior based on additional annotations.
-
-