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