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