Class CliHelper.Builder

java.lang.Object
org.refcodes.archetype.CliHelper.Builder
Direct Known Subclasses:
AppHelper.Builder
Enclosing class:
CliHelper

public static class CliHelper.Builder extends Object
Builder to build CliHelper.
  • Field Details

    • syntaxNotation

      protected org.refcodes.cli.SyntaxNotation syntaxNotation
    • name

      protected String name
    • passwordPrompt

      protected String passwordPrompt
    • args

      protected String[] args
    • argsSyntax

      protected org.refcodes.cli.ArgsSyntax argsSyntax
    • bannerFont

      protected org.refcodes.textual.Font bannerFont
    • bannerFontPalette

      protected char[] bannerFontPalette
    • defaultConfig

      protected String defaultConfig
    • copyrightNote

      protected String copyrightNote
    • description

      protected String description
    • exampleUsages

      protected Collection<org.refcodes.cli.Example> exampleUsages
    • licenseNote

      protected String licenseNote
    • logger

      protected org.refcodes.logger.RuntimeLogger logger
    • title

      protected String title
    • verboseFallback

      protected boolean verboseFallback
    • configLocator

      protected org.refcodes.runtime.ConfigLocator configLocator
    • resourceLocator

      protected Class<?> resourceLocator
    • shutDownHook

      protected Consumer<Integer> shutDownHook
  • Constructor Details

    • Builder

      protected Builder()
  • Method Details

    • addExampleUsage

      public CliHelper.Builder addExampleUsage(org.refcodes.cli.Example aExamples)
      Builder method adding an application's Example element.
      Parameters:
      aExamples - The application's Example element to be added.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • addExampleUsage

      public CliHelper.Builder addExampleUsage(String aDescription, org.refcodes.cli.Operand<?>... aOperands)
      Builder method adding an application's Example element.
      Parameters:
      aDescription - The example's description.
      aOperands - The command line arguments required by the example.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withName

      public CliHelper.Builder withName(String aAppName)
      Builder method providing the application's name property.
      Parameters:
      aAppName - The application's name.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withPasswordPrompt

      public CliHelper.Builder withPasswordPrompt(String aPasswordPrompt)
      Builder method providing the application's default password prompt.
      Parameters:
      aPasswordPrompt - The application's default password prompt.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withConfigLocator

      public CliHelper.Builder withConfigLocator(org.refcodes.runtime.ConfigLocator aConfigLocator)
      Builder method providing the ConfigLocator when doing a lookup of the configuration file.
      Parameters:
      aConfigLocator - The application's ConfigLocator.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withResourceLocator

      public CliHelper.Builder withResourceLocator(Class<?> aResourceLocator)
      Builder method providing the Class when doing a lookup of a (module specific) resource.
      Parameters:
      aResourceLocator - The application's Class which to use when loading resources (of the according module) by invoking Class.getResourceAsStream(String).
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withSyntaxNotation

      public CliHelper.Builder withSyntaxNotation(org.refcodes.cli.SyntaxNotation aSyntaxNotation)
      Builder method setting the SyntaxNotation.
      Parameters:
      aSyntaxNotation - The SyntaxNotation to use.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withArgs

      public CliHelper.Builder withArgs(String[] aArgs)
      Builder method providing the application's command line arguments.
      Parameters:
      aArgs - The application's command line arguments.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withArgs

      public CliHelper.Builder withArgs(List<String> aArgs)
      Builder method providing the application's command line arguments.
      Parameters:
      aArgs - The application's command line arguments.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withArgsSyntax

      public CliHelper.Builder withArgsSyntax(org.refcodes.cli.ArgsSyntax aArgsSyntax)
      Builder method providing the application's command line syntax.
      Parameters:
      aArgsSyntax - The application's command line syntax.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withBannerFont

      public CliHelper.Builder withBannerFont(org.refcodes.textual.Font aBannerFont)
      Builder method providing the application's banner font.
      Parameters:
      aBannerFont - The application's banner font.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withBannerFontPalette

      public CliHelper.Builder withBannerFontPalette(org.refcodes.data.AsciiColorPalette aBannerFontPalette)
      Builder method providing the application's banner ASCII palette.
      Parameters:
      aBannerFontPalette - The application's banner ASCII palette.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withBannerFontPalette

      public CliHelper.Builder withBannerFontPalette(char[] aBannerFontPalette)
      Builder method providing the application's banner ASCII palette.
      Parameters:
      aBannerFontPalette - The application's banner ASCII palette.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withDefaultConfig

      public CliHelper.Builder withDefaultConfig(String aDefaultConfig)
      Builder method providing the application's configuration file path.
      Parameters:
      aDefaultConfig - The application's configuration file path.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withCopyrightNote

      public CliHelper.Builder withCopyrightNote(String aCopyrightNote)
      Builder method providing the application's copyright.
      Parameters:
      aCopyrightNote - The application's copyright.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withDescription

      public CliHelper.Builder withDescription(String aDescription)
      Builder method providing the application's description property.
      Parameters:
      aDescription - The application's description.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withExamples

      public CliHelper.Builder withExamples(Collection<org.refcodes.cli.Example> aExamples)
      Builder method providing the application's Example elements.
      Parameters:
      aExamples - The application's Example elements to use.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withExamples

      public CliHelper.Builder withExamples(org.refcodes.cli.Example[] aExamples)
      Builder method providing the application's Example elements.
      Parameters:
      aExamples - The application's Example.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withLicenseNote

      public CliHelper.Builder withLicenseNote(String aLicenseNote)
      Builder method providing the application's license.
      Parameters:
      aLicenseNote - The application's license.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withLogger

      public CliHelper.Builder withLogger(org.refcodes.logger.RuntimeLogger aLogger)
      Builder method providing the application's RuntimeLogger.
      Parameters:
      aLogger - The application's RuntimeLogger.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withShutDownHook

      public CliHelper.Builder withShutDownHook(Consumer<Integer> aShutDownHook)
      Builder method providing an (optional) shutdown hook: When provided, then this hook is called instead of System.exit(int) (it is up to the shutdown hook to terminate the application in the end).
      Parameters:
      aShutDownHook - The (optional) shutdown hook.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withTitle

      public CliHelper.Builder withTitle(String aTitle)
      Builder method providing the application's description property.
      Parameters:
      aTitle - The application's title (used when printing the banner).
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • withVerboseFallback

      public CliHelper.Builder withVerboseFallback(boolean aVerboseFallback)
      Builder method providing the application's verbose fallback property. In case no VerboseFlag neither QuietFlag parsers are present and no "verbose" neither "quiet" value are found in the properties, then this value is used as a fallback, either to be "more verbose" (true) or "more quiet" (false).
      Parameters:
      aVerboseFallback - The fallback verbose mode if the verbose mode cannot be determined otherwise.
      Returns:
      This CliHelper.Builder as of the builder pattern.
    • build

      public CliHelper build()
      Creates a new CliHelper using the configured properties.
      Returns:
      The accordingly configured CliHelper.