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(
39 String id,
40 String language,
41 String extension,
42 String classifier,
43 DependencyProperties dependencyProperties) {
44 nonNull(id, "id");
45 nonNull(language, "language");
46 this.extension = nonNull(extension, "extension");
47 this.classifier = classifier;
48 nonNull(dependencyProperties, "dependencyProperties");
49 HashMap<String, String> props = new HashMap<>(dependencyProperties.asMap());
50 props.put(ArtifactProperties.TYPE, id);
51 props.put(ArtifactProperties.LANGUAGE, language);
52 this.dependencyProperties = new DefaultDependencyProperties(props);
53 }
54
55 @Override
56 public String getId() {
57 return dependencyProperties.asMap().get(ArtifactProperties.TYPE);
58 }
59
60 @Override
61 public String getLanguage() {
62 return dependencyProperties.asMap().get(ArtifactProperties.LANGUAGE);
63 }
64
65 @Override
66 public String getExtension() {
67 return extension;
68 }
69
70 @Override
71 public String getClassifier() {
72 return classifier;
73 }
74
75 @Override
76 public DependencyProperties getDependencyProperties() {
77 return dependencyProperties;
78 }
79
80 @Override
81 public Map<String, String> getProperties() {
82 return getDependencyProperties().asMap();
83 }
84 }