Class AbstractCommandLineArguments

java.lang.Object
net.shibboleth.idp.cli.AbstractCommandLineArguments
All Implemented Interfaces:
CommandLineArguments
Direct Known Subclasses:
MetadataQueryArguments, ReloadMetadataArguments, ReloadServiceArguments, ResolverTestArguments, StatusArguments

public abstract class AbstractCommandLineArguments
extends Object
implements CommandLineArguments
Base class for JCommander command line argument handling for an HTTP-based remote service call, with an abstract method that adds to a URL based on a derived class' arguments.
  • Field Details

    • BASEURL_PROPERTY

      @Nonnull @NotEmpty public static final String BASEURL_PROPERTY
      Name of system property for overriding default URL.
      See Also:
      Constant Field Values
    • help

      private boolean help
      Display command usage.
    • url

      @Nonnull private String url
      Base of URL to invoke.
    • path

      @Nullable private String path
      Path to add to base URL.
    • disableNameChecking

      private boolean disableNameChecking
      Disable TLS certificate name checking.
    • trustStore

      @Nullable private String trustStore
      Trust store for SSL connectivity.
    • trustStoreType

      @Nullable private String trustStoreType
      Trust store type for SSL connectivity.
    • trustStorePassword

      @Nullable private String trustStorePassword
      Trust store password for SSL connectivity.
  • Constructor Details

    • AbstractCommandLineArguments

      public AbstractCommandLineArguments()
      Constructor.
  • Method Details

    • getHelp

      public boolean getHelp()
      Value of "help" parameter.
      Returns:
      parameter value
    • getURL

      @Nonnull public String getURL()
      Value of "url" parameter.

      Defaults to http://localhost

      Returns:
      parameter value
    • getPath

      @Nullable public String getPath()
      Value of "path" parameter.
      Returns:
      parameter value
    • getTrustStore

      @Nullable public String getTrustStore()
      Value of "trustStore" parameter.
      Returns:
      parameter value
    • getTrustStoreType

      @Nullable public String getTrustStoreType()
      Value of "trustStoreType" parameter.
      Returns:
      parameter value
    • getTrustStorePassword

      @Nullable public String getTrustStorePassword()
      Value of "trustStorePassword" parameter.
      Returns:
      parameter value
    • isDisableNameChecking

      public boolean isDisableNameChecking()
      Value of "disableNameChecking" parameter.
      Returns:
      parameter value
    • isUsage

      public boolean isUsage()
      Should command usage be displayed?
      Specified by:
      isUsage in interface CommandLineArguments
      Returns:
      true iff this is a help request
    • validate

      public void validate()
      Validate the parameter set.
      Specified by:
      validate in interface CommandLineArguments
    • buildURL

      @Nonnull public URL buildURL() throws MalformedURLException
      Compute the full URL to connect to.
      Specified by:
      buildURL in interface CommandLineArguments
      Returns:
      the URL to connect to
      Throws:
      MalformedURLException - if the URL constructed is invalid
    • doBuildURL

      @Nonnull protected StringBuilder doBuildURL​(@Nonnull StringBuilder builder)
      Override this method to modify the eventual URL and attach any parameters.
      Parameters:
      builder - contains the URL in a partial state of construction, possibly including query string
      Returns:
      a builder containing the modified URL string
    • installTrustStore

      private void installTrustStore()
      Use the configured parameters to set global JVM trust store parameters for SSL connectivity.