Giriş
Şu satırı dahil ederiz.
import org.apache.commons.cli.HelpFormatter;
Bu metodun overload edilmiş bir sürü hali var. Overload edilen parametrelerin sayısı gittikçe artıyor. Her yeni parametre bir sonraki satıra yazılıyor gibi düşünülebilir.
Parametreler şöyle
- String cmdLineSyntax
- String header
- Options
- String footer
- boolean autoUsage
autoUsage true ise şöyle bir çıktı alırız
usage : myapp -myarf <arg>-myarg <arg> - myexplanation for arg
autoUsage false ise şöyle bir çıktı alırız. Yani sadece ilk satır değişiyor.
usage : myapp-myarg <arg> - myexplanation for arg
header ve footer verirsek ve autoUsage true şöyle bir çıktı alırız
usage : myapp -myarf <arg>
header-myarg <arg> - myexplanation for arg
footer
Ayrıca setWidth() ile satır genişliği atanabilir.
Örnek
Benim kullandıklarımdan birisi şöyle. İlk parametrede "command line syntax" belirtiliyor. hssi ve 9028 parametrelerinin mecburi olduğu da belirtiliyor. İkinci parametre olarak options ve üçüncü parametre olarak true geçerek geriye kalan isteğe bağlı seçenekleri de yazdırıyorum
Options options = ...;helpFormatter.printHelp("java -jar foo.jar hssi 9028", options, true)
Örnek - cmdLineSyntax + header + options + footer + autoUsage
Benim kullandıklarımdan birisi şöyle
Çıktı olarak şunu alırızOptions options = ...;String footer = "component1,component2"helpFormatter.printHelp("myapp", "Starts my app", options, componentNames ,true);
usage : myapp -blah <arg>Starts my app-blah <arg> - my explanationcomponent1,component2