1 package com.atlassian.marketplace.client.api;
2
3 import java.net.URI;
4
5 import com.google.common.base.Function;
6
7 import static com.google.common.base.Preconditions.checkNotNull;
8
9
10
11
12
13 public class ResourceId
14 {
15 private final URI uri;
16
17 protected ResourceId(URI uri)
18 {
19 this.uri = checkNotNull(uri);
20 }
21
22
23
24
25 public URI getUri()
26 {
27 return uri;
28 }
29
30 @Override
31 public String toString()
32 {
33 return this.getClass().getSimpleName() + "(" + uri + ")";
34 }
35
36 @Override
37 public boolean equals(Object other)
38 {
39 return (other.getClass() == this.getClass()) && ((ResourceId) other).uri.equals(uri);
40 }
41
42 @Override
43 public int hashCode()
44 {
45 return uri.hashCode();
46 }
47
48 public static Function<ResourceId, URI> resourceIdToUri()
49 {
50 return new Function<ResourceId, URI>()
51 {
52 public URI apply(ResourceId input)
53 {
54 return input.getUri();
55 }
56 };
57 }
58 }