1 package net.sourceforge.jenesis4java.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import net.sourceforge.jenesis4java.Codeable;
26 import net.sourceforge.jenesis4java.Expression;
27 import net.sourceforge.jenesis4java.ReplacingVisitor;
28
29 public class InstanceReplacingVisitor implements ReplacingVisitor {
30
31 private final Codeable instanceToReplace;
32
33 private final Codeable replacingInstance;
34
35 public InstanceReplacingVisitor(Codeable instanceToReplace, Codeable replacingInstance) {
36 this.instanceToReplace = instanceToReplace;
37 this.replacingInstance = replacingInstance;
38 }
39
40 @Override
41 public Codeable visitReplace(Codeable current, Codeable parent) {
42 if (instanceToReplace == current) {
43 return replacingInstance;
44 } else {
45 return current;
46 }
47 }
48 }