1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import java.util.HashMap;
22 import java.util.Map;
23
24 import org.apache.maven.api.DependencyProperties;
25 import org.apache.maven.api.Type;
26 import org.eclipse.aether.artifact.ArtifactProperties;
27 import org.eclipse.aether.artifact.ArtifactType;
28
29 import static org.apache.maven.internal.impl.Utils.nonNull;
30
31 public class DefaultType implements Type, ArtifactType {
32 private final String extension;
33
34 private final String classifier;
35
36 private final DependencyProperties dependencyProperties;
37
38 public DefaultType(String id, String extension, String classifier, DependencyProperties dependencyProperties) {
39 nonNull(id, "id");
40 this.extension = nonNull(extension, "extension");
41 this.classifier = classifier;
42 nonNull(dependencyProperties, "dependencyProperties");
43 HashMap<String, String> props = new HashMap<>(dependencyProperties.asMap());
44 props.put(ArtifactProperties.TYPE, id);
45 this.dependencyProperties = new DefaultDependencyProperties(props);
46 }
47
48 @Override
49 public String getId() {
50 return dependencyProperties.asMap().get(ArtifactProperties.TYPE);
51 }
52
53 @Override
54 public String getExtension() {
55 return extension;
56 }
57
58 @Override
59 public String getClassifier() {
60 return classifier;
61 }
62
63 @Override
64 public DependencyProperties getDependencyProperties() {
65 return dependencyProperties;
66 }
67
68 @Override
69 public Map<String, String> getProperties() {
70 return getDependencyProperties().asMap();
71 }
72 }