Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package uk.co.flamingpenguin.jewel.cli;
  
  import java.util.Arrays;
  import java.util.List;
  
  
 {
    private static final Logger g_logger = Logger.getLogger(OptionSpecificationImpl.class.getName());
    private final List<Stringm_shortNames;
    private final String m_longName;
    private final String m_description;
    private final String m_pattern;
    private final List<Stringm_default;
    private final boolean m_helpRequest;
 
    public OptionSpecificationImpl(final Method methodfinal Class<?> klass)
    {
       super(methodklass);
 
       final Option optionAnnotation = method.getAnnotation(Option.class);
 
       final String[] shortNameSpecification = optionAnnotation.shortName();
        = new ArrayList<String>();
       for (int i = 0; i < shortNameSpecification.lengthi++)
       {
          final String shortName = shortNameSpecification[i].trim();
          if(shortName.length() > 0)
          {
             .add(shortNameSpecification[i].substring(0, 1));
          }
       }
 
       final String longNameSpecification = optionAnnotation.longName().trim();
        = nullOrBlank(longNameSpecification) ? getName() : longNameSpecification;
 
        = optionAnnotation.description().trim();
 
        = optionAnnotation.pattern();
        = Arrays.asList(optionAnnotation.defaultValue());
 
        = optionAnnotation.helpRequest();
 
       .finer(String.format("Create option specification name:%s, shortName:%s, type:%s (multiValued:%b, hasValue:%b, isOptional:%b, defaultValue:%s)) ",
                                   getName(), getShortNames(), getType(), isMultiValued(), hasValue(), isOptional(), getDefaultValue()));
    }

   

Inheritdoc:
 
    public List<StringgetShortNames()
    {
       return ;
    }

   

Inheritdoc:
 
    public String getLongName()
    {
       return ;
    }
 
    public boolean hasCustomPattern()
    {
       return !.equals(".*");
    }
 
    public boolean patternMatches(final String value)
    {
       return value.matches();
    }

   

Inheritdoc:
 
    public boolean hasShortName()
    {
       return .size() > 0;
    }
 
    private boolean nullOrBlank(final String string)
    {
       return string == null || string.equals("");
    }

   

Inheritdoc:
 
    public String getDescription()
    {
       return ;
    }
 
    public StringBuilder getSummary(final StringBuilder result)
    {
      if(isOptional())
      {
         result.append("[");
      }
      result.append("--").append(getLongName());
      for (final String shortName : getShortNames())
      {
         result.append(" -").append(shortName);
      }
      if(hasValue())
      {
         if(hasCustomPattern())
         {
            result.append(" /").append().append("/");
         }
         else
         {
            result.append(" value");
         }
         if(isMultiValued())
         {
            result.append("...");
         }
      }
      if(isOptional())
      {
         result.append("]");
      }
      return result;
   }
   public String toString()
   {
      final StringBuilder result = new StringBuilder();
      getSummary(result);
      if(!nullOrBlank(getDescription()))
      {
         result.append(" : ").append(getDescription());
      }
      return result.toString();
   }
   public List<StringgetDefaultValue()
   {
      return ;
   }
   public boolean hasDefaultValue()
   {
      return .size() > 0;
   }
   public boolean isHelpOption()
   {
      return ;
   }
New to GrepCode? Check out our FAQ X