• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.github.javaparser.printer.lexicalpreservation.changes;
2 
3 import com.github.javaparser.ast.Node;
4 import com.github.javaparser.ast.observer.ObservableProperty;
5 
6 /**
7  * The change in value of a property.
8  */
9 public class PropertyChange implements Change {
10     private final ObservableProperty property;
11     private final Object oldValue;
12     private final Object newValue;
13 
getProperty()14     public ObservableProperty getProperty() {
15         return property;
16     }
17 
getOldValue()18     public Object getOldValue() {
19         return oldValue;
20     }
21 
getNewValue()22     public Object getNewValue() {
23         return newValue;
24     }
25 
PropertyChange(ObservableProperty property, Object oldValue, Object newValue)26     public PropertyChange(ObservableProperty property, Object oldValue, Object newValue) {
27         this.property = property;
28         this.oldValue = oldValue;
29         this.newValue = newValue;
30     }
31 
32     @Override
getValue(ObservableProperty property, Node node)33     public Object getValue(ObservableProperty property, Node node) {
34         if (property == this.property) {
35             return newValue;
36         } else {
37             return property.getRawValue(node);
38         }
39     }
40 }
41