View Javadoc

1   package com.atlassian.marketplace.client;
2   
3   import java.net.URI;
4   
5   import com.atlassian.marketplace.client.http.HttpConfiguration;
6   import com.atlassian.marketplace.client.impl.DefaultMarketplaceClient;
7   
8   /**
9    * Static factory methods for creating the standard implementation of {@link MarketplaceClient}.
10   * @since 2.0.0
11   */
12  public abstract class MarketplaceClientFactory
13  {
14      /**
15       * The standard base URI of the Atlassian Marketplace server.
16       */
17      public static final URI DEFAULT_MARKETPLACE_URI = URI.create("https://marketplace.atlassian.com");
18      
19      private MarketplaceClientFactory()
20      {
21      }
22      
23      /**
24       * Creates a {@link MarketplaceClient} instance using a specific server URI and configuration.
25       * @param baseUri  the base URI of the Atlassian Marketplace server
26       * @param configuration  an {@link HttpConfiguration} object
27       */
28      public static MarketplaceClient createMarketplaceClient(URI baseUri, HttpConfiguration configuration)
29      {
30          return new DefaultMarketplaceClient(baseUri, configuration);
31      }
32  
33      /**
34       * Creates a {@link MarketplaceClient} instance using a specific server URI, using defaults for all
35       * other configuration properties.
36       * @param baseUri  the base URI of the Atlassian Marketplace server
37       */
38      public static MarketplaceClient createMarketplaceClient(URI baseUri)
39      {
40          return createMarketplaceClient(baseUri, HttpConfiguration.defaults());
41      }
42  
43      /**
44       * Creates a {@link MarketplaceClient} instance using a specific configuration, and the default
45       * server URI.
46       * @param configuration  an {@link HttpConfiguration} object
47       */
48      public static MarketplaceClient createMarketplaceClient(HttpConfiguration configuration)
49      {
50          return createMarketplaceClient(DEFAULT_MARKETPLACE_URI, configuration);
51      }
52      
53      /**
54       * Creates a {@link MarketplaceClient} instance using the default server URI and configuration.
55       */
56      public static MarketplaceClient createMarketplaceClient()
57      {
58          return createMarketplaceClient(DEFAULT_MARKETPLACE_URI);
59      }
60  }