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:
    • 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.
    • username

      @Nullable private String username
      Username to be used in the HTTP-Basic authentication.
    • password

      @Nullable private String password
      Password to be used in the HTTP-Basic authentication.
    • method

      @Nullable @NotEmpty private String method
      HTTP method to use, GET by default.
    • headers

      @Nullable private List<String> headers
      HTTP header name/value pair(s).
  • 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
    • getUsername

      @Nullable public String getUsername()
      Value of "username" parameter.
      Returns:
      username parameter
      Since:
      4.2.0
    • getPassword

      @Nullable public String getPassword()
      Value of "password" parameter.
      Returns:
      password parameter
      Since:
      4.2.0
    • getMethod

      @Nullable @NotEmpty public String getMethod()
      Value of "method" parameter.
      Specified by:
      getMethod in interface CommandLineArguments
      Returns:
      method
      Since:
      4.2.0
    • getHeaders

      @Nullable @NonnullElements @NotLive @Unmodifiable public Map<String,String> getHeaders()
      Values of "header" parameter.
      Specified by:
      getHeaders in interface CommandLineArguments
      Returns:
      header parameter
    • 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
    • getBasicAuthHeader

      @Nullable @NotEmpty public String getBasicAuthHeader()
      Builds the HTTP-Basic value to be used in the Authorization -header, containing username and password.
      Specified by:
      getBasicAuthHeader in interface CommandLineArguments
      Returns:
      The value to be used in the Authorization -header, or null if username or password didn't have a value.
    • installTrustStore

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