《Apache Common CLI官方文档

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

本篇文章是并发编程网组织的一次Apache Common组件翻译的一部分,因为无意中看到了Apache Common CLI感觉很好奇,因为这个工具很少在网上看到,当然或许我没有关注过。因为我之前也写过类似的CLI工具所以感觉情有独钟吧。所以让我来为大家揭开CLI的神秘面纱。

虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱。各种工具和系统都提供了详尽的使用手册,有些还提供示例说明如何二次开发。然而关于如何开发一个易用、强壮的命令行工具的文章却很少。

简介

构建命令行程序需要三个步骤. 分别是定义, 解析和询问. 下面的章节将轮流介绍每一个阶段,将介绍如何去实现一个CLI .

定义阶段

每一条命令行都必须定义一组参数,它们被用来定义应用程序的接口.

CLI 使用 Options 类类来定义和设置参数, 它是所有  Option 实例的容器. 目前有两种方式来创建 Options in CLI. 一种是通过构造函数,这是最普通也是最为大家所熟知的一种方式;另外一种方法是通过 Options 中定义的工厂方式来实现.

Usage Scenarios 文档提供了实例怎么去创建一个 Options 对象同时也提供了一个真实的示例.

定义阶段的目的是创建一个Options 实例.

解析阶段

在解析阶段中,通过命令行传入应用程序的文本来进行处理. 处理过程将根据在解析器的实现过程中定义的规则来进行.

在 CommandLineParser 类中定义的方法将用 CLI 定义阶段中产生的 Options 实例和一组字符串作为输入,并返回解析后生成的CommandLine.

解析阶段的目的是创建一个CommandLine 实例.

询问阶段

在询问阶段中,应用程序通过查询 CommandLine,并通过其中的布尔参数和提供给应用程序的参数值来决定需要执行哪些程序分支.

这个阶段在用户的代码中实现,CommandLine 中的访问方法为用户代码提供了 CLI 的询问能力.

询问阶段的目的是根据命令行和解析器处理的Options规则与用户的代码相匹配.

转载自 并发编程网 - ifeve.com

相关文章
|
Java Apache Maven
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
3675 0
|
6月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
728 3
|
存储 Java BI
探索Apache POI库:强大的Excel和Word文档处理工具
在企业应用和数据处理中,Excel和Word文档是常见的数据交换和存储格式。然而,处理和操作这些文档可能是一项繁琐的任务。Apache POI库作为一款强大的文档处理工具,可以帮助我们更轻松地进行Excel和Word文档的读写、编辑和生成。本文将深入探讨Apache POI库的基本概念、特点,以及如何在实际应用中使用它进行文档处理。
786 0
|
XML Java API
Apache POI详解及Word文档读取示例
apache poi资料详解,包括内部jar包依赖关系,及与使用文档的对应关系
1490 0
|
机器学习/深度学习 分布式计算 Kubernetes
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
123 0
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
|
JavaScript 算法 前端开发
underscorejs js界的apache common
underscorejs js界的apache common
|
Java Apache
JAVA压缩、解压,使用Apache Common Compress包下载链接
JAVA压缩、解压,使用Apache Common Compress包下载链接
220 0
|
关系型数据库 PHP Apache
Ubuntu 14.04+Apache+PHP+MySQL+EduSoho[文档]
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396611 ...
1516 0
|
Web App开发 关系型数据库 PHP
CentOS 6.x + Apache+ PHP + MySQL + EduSoho[文档]
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396619 ...
1990 0

推荐镜像

更多