日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

航空订票系统界面java_Java命令行界面(第21部分):航空公司2

發(fā)布時間:2023/12/3 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 航空订票系统界面java_Java命令行界面(第21部分):航空公司2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

航空訂票系統(tǒng)界面java

本系列文章的第21篇關(guān)于Java中解析命令行參數(shù)的文章的重點是Airline 2庫。 Airline 2的GitHub項目頁面描述了該庫,“ Airline是一個Java庫,提供了基于注釋的框架來解析命令行界面。” 該頁面進入狀態(tài):航空公司“同時支持簡單的單個命令以及具有組的復(fù)雜git樣式的界面。” 頁面還限定航空公司2的配合關(guān)系原始航空公司庫 :“這是一個基本上改寫叉原始航空公司庫 ”。 這篇文章特別介紹了Airline 2.3.0 。

這篇文章中的示例與本系列之前的文章中的示例類似,這些替代類庫用于解析Java的命令行參數(shù)。 因此,這些示例中支持的選項將是文件路徑和名稱的規(guī)范,以及是否應(yīng)啟用冗長性的規(guī)范。 此處顯示的示例的完整代碼列表可在GitHub上找到。

使用@Option批注很容易完成從Java與Airline 2解析命令行參數(shù)的“定義”階段,如下面的代碼清單所示。

航空公司2的“定義”階段

@Option(title="file", name={"-f", "--file"}, description="Path and name of file.") private String file;@Option(title="verbose", name={"-v", "--verbose"}, description="Enable or disable verbosity.") private boolean verbose;

@Option注釋的這些實例的代碼是不言自明的。 @Option批注的“ name ”元素需要一個或多個String ,因此允許為同一選項指定多個標志。 在這種情況下,我為選項使用了相同的單連字符/單字符“短”形式和雙連字符/單詞“長”形式。

“解析”階段可以通過航空公司2使用SingleCommand類及其靜態(tài)singleCommand(Class <C>)方法來獲取SingleCommand實例,然后在該實例上調(diào)用parse(String [])方法來完成。 在下面的代碼清單中將演示這兩個語句。

航空公司2的“解析”階段

final SingleCommand<Main> parser = SingleCommand.singleCommand(Main.class); final Main main = parser.parse(arguments);

只需通過訪問SingleCommand.parse(String[])方法提供的實例的@Option字段,即可完成航空公司2的“詢問”階段。 下一個代碼清單中對此進行了演示。

航空公司2的“審訊”階段

if (main.file != null) {out.println("File path/name is '" + main.file + "'.");out.println("Verbosity is " + main.verbose); } else {out.println("ERROR: File path/name must be provided with -f or --file."); }

接下來的兩個屏幕快照顯示了實際的示例。 當沒有提供任何參數(shù)時,第一個屏幕快照顯示輸出,第二個圖像顯示“正常”使用兩個選項的長和短版本來指定文件路徑/名稱和詳細程度。

航空公司支持生成使用情況和幫助信息。 不幸的是,我無法運行它,因為遇到了一個編譯錯誤,指出“找不到com.github.rvesse.airline.io.printers.UsagePrinter的類文件。” 我下載airline-2.3.0.jar沒有看到該類。

選擇框架或庫來幫助Java進行命令行解析時,需要考慮Airline 2的特性。

  • 航空公司2是開源的,并根據(jù)Apache許可2.0版獲得許可 。
  • 航空公司2是本系列中“ 較重 ”的庫之一, air-2.3.0.jar的大小約為316 KB,并且對Apache Commons Collections , Apache Commons Lang和javax.inject / javax.inject具有運行時依賴性。 。
  • 盡管航空公司已經(jīng)存在了一段時間,但航空公司2是該項目的最新更新。
  • Airline 2基本用法的文檔非常直接且有用,但是本文中未顯示的許多功能的文檔仍在構(gòu)建中,包含許多“ TODO”語句。

對于這些帖子中我的示例中實現(xiàn)的參數(shù)處理的“單個命令”風(fēng)格, Airline 2易于使用。 我沒有看到用于表達是否需要某個選項的任何方法,但是簡單地在繼續(xù)操作之前檢查所需選項的null是一種簡單的方法。 鑒于其規(guī)模和依賴性,Airline 2可能最適合希望使用其本文未演示的許多強大功能的用戶。 對于本博文和本系列其他博文中演示的簡單示例,在表示“定義”,“解析”和“審訊”階段方面,有一些輕量級的庫,它們具有更少的依賴項,它們與Airline 2的工作原理非常相似。

其他參考

  • 航空公司2 (GitHub)
  • 航空公司用戶指南
  • 航空公司2.3.0 (Maven存儲庫)
  • Airline 2.3.0 API文檔 (Javadoc)
  • 原始航空公司

翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-21-airline-2.html

航空訂票系統(tǒng)界面java

總結(jié)

以上是生活随笔為你收集整理的航空订票系统界面java_Java命令行界面(第21部分):航空公司2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。