Package org.kohsuke.args4j.spi
Class MethodSetter
- java.lang.Object
-
- org.kohsuke.args4j.spi.MethodSetter
-
-
Constructor Summary
Constructors Constructor Description MethodSetter(CmdLineParser parser, java.lang.Object bean, java.lang.reflect.Method m)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(java.lang.Object value)
Adds/sets a value to the property of the option bean.java.lang.reflect.AnnotatedElement
asAnnotatedElement()
Returns theAnnotatedElement
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 asFieldSetter
.java.lang.Class
getType()
Gets the type of the underlying method/field.boolean
isMultiValued()
Whether this setter is intrinsically multi-valued.
-
-
-
Constructor Detail
-
MethodSetter
public MethodSetter(CmdLineParser parser, java.lang.Object bean, java.lang.reflect.Method m)
-
-
Method Detail
-
getType
public java.lang.Class getType()
Description copied from interface:Setter
Gets the type of the underlying method/field.
-
isMultiValued
public boolean isMultiValued()
Description copied from interface:Setter
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.
- Specified by:
isMultiValued
in interfaceSetter
-
asFieldSetter
public FieldSetter asFieldSetter()
Description copied from interface:Setter
If this setter encapsulates a field, return the direct access to that field asFieldSetter
. This method serves two purposes:- This lets
OptionHandler
s 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()
).
- Specified by:
asFieldSetter
in interfaceSetter
- Returns:
null
if this setter wraps a method.
- This lets
-
asAnnotatedElement
public java.lang.reflect.AnnotatedElement asAnnotatedElement()
Description copied from interface:Setter
Returns theAnnotatedElement
by which you can access annotations written on this setter. This is the sameAnnotatedElement
that hadOption
/Argument
.This enables
OptionHandler
to further tweak its behavior based on additional annotations.- Specified by:
asAnnotatedElement
in interfaceSetter
-
addValue
public void addValue(java.lang.Object value) throws CmdLineException
Description copied from interface:Setter
Adds/sets a value to the property of the option bean.A
Setter
object has an implicit knowledge about the property it's setting, and the instance of the option bean.- Specified by:
addValue
in interfaceSetter
- Throws:
CmdLineException
-
-