Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
commons-cli-1.4-sources.jar - Apache Commons CLI
commons-cli-1.4-sources.jar is the source JAR file for Apache Commons CLI 1.4, which provides an API for parsing command line options passed to programs.
JAR File Size and Download Location:
JAR name: commons-cli-1.4-sources.jar Target JDK version: 1.5 Dependency: None File size: 63,104 bytes Release date: 09-Mar-2017 Download: Apache Commons CLI
✍: FYIcenter.com
⏎ org/apache/commons/cli/PatternOptionBuilder.java
/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.cli; import java.io.File; import java.io.FileInputStream; import java.net.URL; import java.util.Date; /** * <p>Allows Options to be created from a single String. * The pattern contains various single character flags and via * an optional punctuation character, their expected type. * </p> * * <table border="1"> * <caption>Overview of PatternOptionBuilder patterns</caption> * <tr><td>a</td><td>-a flag</td></tr> * <tr><td>b@</td><td>-b [classname]</td></tr> * <tr><td>c></td><td>-c [filename]</td></tr> * <tr><td>d+</td><td>-d [classname] (creates object via empty constructor)</td></tr> * <tr><td>e%</td><td>-e [number] (creates Double/Long instance depending on existing of a '.')</td></tr> * <tr><td>f/</td><td>-f [url]</td></tr> * <tr><td>g:</td><td>-g [string]</td></tr> * </table> * * <p> * For example, the following allows command line flags of '-v -p string-value -f /dir/file'. * The exclamation mark precede a mandatory option. * </p> * * <pre> * Options options = PatternOptionBuilder.parsePattern("vp:!f/"); * </pre> * * <p> * TODO: These need to break out to OptionType and also to be pluggable. * </p> * * @version $Id: PatternOptionBuilder.java 1677406 2015-05-03 14:27:31Z britter $ */ public class PatternOptionBuilder { /** String class */ public static final Class<String> STRING_VALUE = String.class; /** Object class */ public static final Class<Object> OBJECT_VALUE = Object.class; /** Number class */ public static final Class<Number> NUMBER_VALUE = Number.class; /** Date class */ public static final Class<Date> DATE_VALUE = Date.class; /** Class class */ public static final Class<?> CLASS_VALUE = Class.class; /// can we do this one?? // is meant to check that the file exists, else it errors. // ie) it's for reading not writing. /** FileInputStream class */ public static final Class<FileInputStream> EXISTING_FILE_VALUE = FileInputStream.class; /** File class */ public static final Class<File> FILE_VALUE = File.class; /** File array class */ public static final Class<File[]> FILES_VALUE = File[].class; /** URL class */ public static final Class<URL> URL_VALUE = URL.class; /** * Retrieve the class that <code>ch</code> represents. * * @param ch the specified character * @return The class that <code>ch</code> represents */ public static Object getValueClass(char ch) { switch (ch) { case '@': return PatternOptionBuilder.OBJECT_VALUE; case ':': return PatternOptionBuilder.STRING_VALUE; case '%': return PatternOptionBuilder.NUMBER_VALUE; case '+': return PatternOptionBuilder.CLASS_VALUE; case '#': return PatternOptionBuilder.DATE_VALUE; case '<': return PatternOptionBuilder.EXISTING_FILE_VALUE; case '>': return PatternOptionBuilder.FILE_VALUE; case '*': return PatternOptionBuilder.FILES_VALUE; case '/': return PatternOptionBuilder.URL_VALUE; } return null; } /** * Returns whether <code>ch</code> is a value code, i.e. * whether it represents a class in a pattern. * * @param ch the specified character * @return true if <code>ch</code> is a value code, otherwise false. */ public static boolean isValueCode(char ch) { return ch == '@' || ch == ':' || ch == '%' || ch == '+' || ch == '#' || ch == '<' || ch == '>' || ch == '*' || ch == '/' || ch == '!'; } /** * Returns the {@link Options} instance represented by <code>pattern</code>. * * @param pattern the pattern string * @return The {@link Options} instance */ public static Options parsePattern(String pattern) { char opt = ' '; boolean required = false; Class<?> type = null; Options options = new Options(); for (int i = 0; i < pattern.length(); i++) { char ch = pattern.charAt(i); // a value code comes after an option and specifies // details about it if (!isValueCode(ch)) { if (opt != ' ') { final Option option = Option.builder(String.valueOf(opt)) .hasArg(type != null) .required(required) .type(type) .build(); // we have a previous one to deal with options.addOption(option); required = false; type = null; opt = ' '; } opt = ch; } else if (ch == '!') { required = true; } else { type = (Class<?>) getValueClass(ch); } } if (opt != ' ') { final Option option = Option.builder(String.valueOf(opt)) .hasArg(type != null) .required(required) .type(type) .build(); // we have a final one to deal with options.addOption(option); } return options; } }
⏎ org/apache/commons/cli/PatternOptionBuilder.java
Or download all of them as a single archive file:
File name: commons-cli-1.4-sources.jar File size: 63104 bytes Release date: 2017-03-09 Download
⇒ commons-cli-1.2.jar - Apache Commons CLI?
⇐ commons-cli-1.4.jar - Apache Commons CLI
2023-02-28, 3593👍, 0💬
Popular Posts:
JDK 11 java.xml.crypto.jmod is the JMOD file for JDK 11 XML (eXtensible Markup Language) Crypto modu...
What Is javaws.jar in JRE (Java Runtime Environment) 8? javaws.jar in JRE (Java Runtime Environment)...
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module. JDK 11 Charsets module compile...
How to download and install JDK (Java Development Kit) 6? If you want to write Java applications, yo...
Xalan-Java, Version 2.7.1, is an XSLT processor for transforming XML documents into HTML, text, or o...