View Javadoc

1   package com.atlassian.marketplace.client.model;
2   
3   import java.net.URI;
4   
5   import com.atlassian.fugue.Option;
6   
7   import com.google.common.collect.ImmutableList;
8   
9   import static com.atlassian.fugue.Option.none;
10  import static com.atlassian.fugue.Option.some;
11  
12  /**
13   * A more concise representation of an {@link AddonVersion} when it is embedded in another response.
14   * @see com.atlassian.marketplace.client.api.Addons
15   * @since 2.0.0
16   */
17  public final class AddonVersionSummary extends AddonVersionBase
18  {
19      Embedded _embedded;
20      
21      public Option<ArtifactInfo> getArtifactInfo()
22      {
23          return _embedded.artifact;
24      }
25      
26      public Option<URI> getArtifactUri()
27      {
28          for (ArtifactInfo a: _embedded.artifact)
29          {
30              return some(a.getBinaryUri());
31          }
32          return none();
33      }
34  
35      @Override
36      public Iterable<AddonCategorySummary> getFunctionalCategories()
37      {
38          return _embedded.functionalCategories;
39      }
40  
41      public Option<URI> getRemoteDescriptorUri()
42      {
43          for (ArtifactInfo a: _embedded.artifact)
44          {
45              return a.getRemoteDescriptorUri();
46          }
47          return none();
48      }
49  
50      static final class Embedded
51      {
52          Option<ArtifactInfo> artifact;
53          ImmutableList<AddonCategorySummary> functionalCategories;
54      }
55  }