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
14
15
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 }