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 java.io.File;
22
23 import org.apache.maven.resolver.internal.ant.AntRepoSys;
24 import org.apache.tools.ant.Project;
25 import org.apache.tools.ant.Task;
26 import org.apache.tools.ant.types.DataType;
27 import org.apache.tools.ant.types.Reference;
28
29
30
31 public class LocalRepository extends DataType {
32
33 private final Task task;
34
35 private File dir;
36
37 public LocalRepository() {
38 this(null);
39 }
40
41 public LocalRepository(Task task) {
42 this.task = task;
43 }
44
45 @Override
46 public void setProject(Project project) {
47 super.setProject(project);
48
49 if (task == null) {
50 AntRepoSys.getInstance(project).setLocalRepository(this);
51 }
52 }
53
54 protected LocalRepository getRef() {
55 return getCheckedRef(LocalRepository.class);
56 }
57
58 @Override
59 public void setRefid(Reference ref) {
60 if (dir != null) {
61 throw tooManyAttributes();
62 }
63 super.setRefid(ref);
64 }
65
66 public File getDir() {
67 if (isReference()) {
68 return getRef().getDir();
69 }
70 return dir;
71 }
72
73 public void setDir(File dir) {
74 checkAttributesAllowed();
75 this.dir = dir;
76 }
77 }