1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.repository.internal;
20
21 import java.io.File;
22 import java.util.ArrayList;
23 import java.util.Collection;
24 import java.util.Date;
25
26 import org.apache.maven.artifact.repository.metadata.Metadata;
27 import org.eclipse.aether.artifact.Artifact;
28
29
30
31
32 abstract class MavenSnapshotMetadata extends MavenMetadata {
33 static final String SNAPSHOT = "SNAPSHOT";
34
35 protected final Collection<Artifact> artifacts = new ArrayList<>();
36
37 protected final boolean legacyFormat;
38
39 protected MavenSnapshotMetadata(Metadata metadata, File file, boolean legacyFormat, Date timestamp) {
40 super(metadata, file, timestamp);
41 this.legacyFormat = legacyFormat;
42 }
43
44 protected static Metadata createRepositoryMetadata(Artifact artifact, boolean legacyFormat) {
45 Metadata metadata = new Metadata();
46 if (!legacyFormat) {
47 metadata.setModelVersion("1.1.0");
48 }
49 metadata.setGroupId(artifact.getGroupId());
50 metadata.setArtifactId(artifact.getArtifactId());
51 metadata.setVersion(artifact.getBaseVersion());
52
53 return metadata;
54 }
55
56 public void bind(Artifact artifact) {
57 artifacts.add(artifact);
58 }
59
60 public Object getKey() {
61 return getGroupId() + ':' + getArtifactId() + ':' + getVersion();
62 }
63
64 public static Object getKey(Artifact artifact) {
65 return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion();
66 }
67
68 protected String getKey(String classifier, String extension) {
69 return classifier + ':' + extension;
70 }
71
72 public String getGroupId() {
73 return metadata.getGroupId();
74 }
75
76 public String getArtifactId() {
77 return metadata.getArtifactId();
78 }
79
80 public String getVersion() {
81 return metadata.getVersion();
82 }
83
84 public Nature getNature() {
85 return Nature.SNAPSHOT;
86 }
87 }