1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.repository.legacy;
20
21 import org.apache.maven.repository.ArtifactTransferResource;
22 import org.apache.maven.wagon.resource.Resource;
23
24 class MavenArtifact implements ArtifactTransferResource {
25
26 private String repositoryUrl;
27
28 private Resource resource;
29
30 private long transferStartTime;
31
32 MavenArtifact(String repositoryUrl, Resource resource) {
33 if (repositoryUrl == null) {
34 this.repositoryUrl = "";
35 } else if (!repositoryUrl.endsWith("/") && repositoryUrl.length() > 0) {
36 this.repositoryUrl = repositoryUrl + '/';
37 } else {
38 this.repositoryUrl = repositoryUrl;
39 }
40 this.resource = resource;
41
42 this.transferStartTime = System.currentTimeMillis();
43 }
44
45 public String getRepositoryUrl() {
46 return repositoryUrl;
47 }
48
49 public String getName() {
50 String name = resource.getName();
51
52 if (name == null) {
53 name = "";
54 } else if (name.startsWith("/")) {
55 name = name.substring(1);
56 }
57
58 return name;
59 }
60
61 public String getUrl() {
62 return getRepositoryUrl() + getName();
63 }
64
65 public long getContentLength() {
66 return resource.getContentLength();
67 }
68
69 public long getTransferStartTime() {
70 return transferStartTime;
71 }
72
73 @Override
74 public String toString() {
75 return getUrl();
76 }
77 }