1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.resolver.internal.ant.types;
20
21 import org.apache.tools.ant.PropertyHelper;
22 import org.apache.tools.ant.PropertyHelper.PropertyEvaluator;
23 import org.apache.tools.ant.property.NullReturn;
24
25
26
27 class PomPropertyEvaluator implements PropertyEvaluator {
28
29 private final ModelValueExtractor extractor;
30
31 public static void register(ModelValueExtractor extractor, PropertyHelper propertyHelper) {
32 propertyHelper.add(new PomPropertyEvaluator(extractor));
33 }
34
35 private PomPropertyEvaluator(ModelValueExtractor extractor) {
36 if (extractor == null) {
37 throw new IllegalArgumentException("no model value exractor specified");
38 }
39 this.extractor = extractor;
40 }
41
42 public Object evaluate(String property, PropertyHelper propertyHelper) {
43 Object value = extractor.getValue(property);
44 if (value != null) {
45 return value;
46 } else if (extractor.isApplicable(property)) {
47 return NullReturn.NULL;
48 }
49 return null;
50 }
51 }