Class ParameterDescription


  • public class ParameterDescription
    extends java.lang.Object
    • Field Detail

      • object

        private java.lang.Object object
      • 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
      • 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,
                                    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 arguments
        parameterized - the wrapper for the field or method annotated with \@Parameter this represents
        bundle - the locale
        jCommander - 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()
      • 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()
      • 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 class java.lang.Object
      • isDynamicParameter

        public boolean isDynamicParameter()
      • isHelp

        public boolean isHelp()
      • isNonOverwritableForced

        public boolean isNonOverwritableForced()