blob: 37b3a6f9316ef047a866fdbbff03b7c1903b7c0e [file] [log] [blame]
package com.github.javaparser.printer.lexicalpreservation.changes;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.observer.ObservableProperty;
/**
* The change in value of a property.
*/
public class PropertyChange implements Change {
private final ObservableProperty property;
private final Object oldValue;
private final Object newValue;
public ObservableProperty getProperty() {
return property;
}
public Object getOldValue() {
return oldValue;
}
public Object getNewValue() {
return newValue;
}
public PropertyChange(ObservableProperty property, Object oldValue, Object newValue) {
this.property = property;
this.oldValue = oldValue;
this.newValue = newValue;
}
@Override
public Object getValue(ObservableProperty property, Node node) {
if (property == this.property) {
return newValue;
} else {
return property.getRawValue(node);
}
}
}