Package com.beust.jcommander
Class ParameterDescription
- java.lang.Object
-
- com.beust.jcommander.ParameterDescription
-
public class ParameterDescription extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ParameterDescription.SubParameterIndex
-
Field Summary
Fields Modifier and Type Field Description private boolean
assigned
Keep track of whether a value was added to flag an errorprivate java.util.ResourceBundle
bundle
private java.lang.Object
defaultObject
private java.lang.String
description
private DynamicParameter
dynamicParameterAnnotation
private JCommander
jCommander
private java.lang.String
longestName
Longest of the names(), used to present usage() alphabeticallyprivate java.lang.Object
object
private Parameter
parameterAnnotation
private Parameterized
parameterized
The field/methodprivate WrappedParameter
wrappedParameter
-
Constructor Summary
Constructors Constructor Description ParameterDescription(java.lang.Object object, DynamicParameter annotation, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jc)
ParameterDescription(java.lang.Object object, Parameter annotation, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(java.lang.String value)
void
addValue(java.lang.String value, boolean isDefault)
Add the specified value to the field.(package private) java.lang.Object
addValue(java.lang.String name, java.lang.String value, boolean isDefault, boolean validate, int currentIndex)
private boolean
fieldIsSetForTheFirstTime(boolean isDefault)
private java.util.ResourceBundle
findResourceBundle(java.lang.Object o)
Find the resource bundle in the annotations.private java.util.List<ParameterDescription.SubParameterIndex>
findSubParameters(java.lang.Class<?> type)
java.lang.Object
getDefault()
java.lang.String
getDescription()
java.lang.String
getLongestName()
java.lang.String
getNames()
java.lang.Object
getObject()
WrappedParameter
getParameter()
Parameter
getParameterAnnotation()
Parameterized
getParameterized()
private java.lang.Object
handleSubParameters(java.lang.String value, int currentIndex, java.lang.Class<?> type, java.util.List<ParameterDescription.SubParameterIndex> subParameters)
private void
init(java.lang.Object object, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jCommander)
Initializes the state of this parameter description.private void
initDescription(java.lang.String description, java.lang.String descriptionKey, java.lang.String[] names)
boolean
isAssigned()
boolean
isDynamicParameter()
private boolean
isEmpty(java.lang.String s)
boolean
isHelp()
private boolean
isMultiOption()
boolean
isNonOverwritableForced()
private java.util.Collection<java.lang.Object>
newCollection(java.lang.Class<?> type)
private void
p(java.lang.String string)
void
setAssigned(boolean b)
java.lang.String
toString()
private void
validateDefaultValues(java.lang.String[] names)
void
validateParameter(java.lang.Class<? extends IParameterValidator> validator, java.lang.String name, java.lang.String value)
private void
validateParameter(java.lang.String name, java.lang.String value)
void
validateValueParameter(java.lang.Class<? extends IValueValidator> validator, java.lang.String name, java.lang.Object value)
(package private) void
validateValueParameter(java.lang.String name, java.lang.Object value)
-
-
-
Field Detail
-
object
private java.lang.Object object
-
wrappedParameter
private WrappedParameter wrappedParameter
-
parameterAnnotation
private Parameter parameterAnnotation
-
dynamicParameterAnnotation
private DynamicParameter dynamicParameterAnnotation
-
parameterized
private Parameterized parameterized
The field/method
-
assigned
private boolean assigned
Keep track of whether a value was added to flag an error
-
bundle
private java.util.ResourceBundle bundle
-
description
private java.lang.String description
-
jCommander
private JCommander jCommander
-
defaultObject
private java.lang.Object defaultObject
-
longestName
private java.lang.String longestName
Longest of the names(), used to present usage() alphabetically
-
-
Constructor Detail
-
ParameterDescription
public ParameterDescription(java.lang.Object object, DynamicParameter annotation, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jc)
-
ParameterDescription
public ParameterDescription(java.lang.Object object, Parameter annotation, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jc)
-
-
Method Detail
-
findResourceBundle
private java.util.ResourceBundle findResourceBundle(java.lang.Object o)
Find the resource bundle in the annotations.- Returns:
-
isEmpty
private boolean isEmpty(java.lang.String s)
-
initDescription
private void initDescription(java.lang.String description, java.lang.String descriptionKey, java.lang.String[] names)
-
init
private void init(java.lang.Object object, Parameterized parameterized, java.util.ResourceBundle bundle, JCommander jCommander)
Initializes the state of this parameter description. This will set an appropriate bundle if it is null<. If its the description in is empty and it refers to an enum type, then the description will be set to its possible values. It will also attempt to validate the default value of the parameter.- Parameters:
object
- the object defining the command-line argumentsparameterized
- the wrapper for the field or method annotated with \@Parameter this representsbundle
- the localejCommander
- the parent JCommander instance- See Also:
initDescription(String, String, String[])
-
validateDefaultValues
private void validateDefaultValues(java.lang.String[] names)
-
getLongestName
public java.lang.String getLongestName()
-
getDefault
public java.lang.Object getDefault()
-
getDescription
public java.lang.String getDescription()
-
getObject
public java.lang.Object getObject()
-
getNames
public java.lang.String getNames()
-
getParameter
public WrappedParameter getParameter()
-
getParameterized
public Parameterized getParameterized()
-
isMultiOption
private boolean isMultiOption()
-
addValue
public void addValue(java.lang.String value)
-
isAssigned
public boolean isAssigned()
- Returns:
- true if this parameter received a value during the parsing phase.
-
setAssigned
public void setAssigned(boolean b)
-
addValue
public void addValue(java.lang.String value, boolean isDefault)
Add the specified value to the field. First, validate the value if a validator was specified. Then look up any field converter, then any type converter, and if we can't find any, throw an exception.
-
addValue
java.lang.Object addValue(java.lang.String name, java.lang.String value, boolean isDefault, boolean validate, int currentIndex)
-
handleSubParameters
private java.lang.Object handleSubParameters(java.lang.String value, int currentIndex, java.lang.Class<?> type, java.util.List<ParameterDescription.SubParameterIndex> subParameters)
-
getParameterAnnotation
public Parameter getParameterAnnotation()
-
findSubParameters
private java.util.List<ParameterDescription.SubParameterIndex> findSubParameters(java.lang.Class<?> type)
-
validateParameter
private void validateParameter(java.lang.String name, java.lang.String value)
-
validateValueParameter
void validateValueParameter(java.lang.String name, java.lang.Object value)
-
validateValueParameter
public void validateValueParameter(java.lang.Class<? extends IValueValidator> validator, java.lang.String name, java.lang.Object value)
-
validateParameter
public void validateParameter(java.lang.Class<? extends IParameterValidator> validator, java.lang.String name, java.lang.String value)
-
newCollection
private java.util.Collection<java.lang.Object> newCollection(java.lang.Class<?> type)
-
fieldIsSetForTheFirstTime
private boolean fieldIsSetForTheFirstTime(boolean isDefault)
-
p
private void p(java.lang.String string)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
isDynamicParameter
public boolean isDynamicParameter()
-
isHelp
public boolean isHelp()
-
isNonOverwritableForced
public boolean isNonOverwritableForced()
-
-