/******************************************************************************* | |
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved. | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* Contributors: | |
* Oracle - initial API and implementation from Oracle TopLink | |
******************************************************************************/ | |
package org.eclipse.persistence.testing.models.weaving; | |
import java.beans.*; | |
public class TestingPropertyChangeListener implements PropertyChangeListener { | |
boolean triggered = false; | |
Object source; | |
boolean sameSource = false; | |
String attribute; | |
boolean correctAttribute = false; | |
Object oldValue; | |
boolean correctOldValue = false; | |
Object newValue; | |
boolean correctNewValue = false; | |
public TestingPropertyChangeListener(Object source, String attribute, | |
Object oldValue, Object newValue) { | |
reset(source, attribute, oldValue, newValue); | |
} | |
public boolean isTriggered() { | |
return triggered; | |
} | |
public Object getSource() { | |
return source; | |
} | |
public void setSource(Object source) { | |
this.source = source; | |
} | |
public boolean isSameSource() { | |
return sameSource; | |
} | |
public String getAttribute() { | |
return attribute; | |
} | |
public void setAttribute(String attribute) { | |
this.attribute = attribute; | |
} | |
public boolean isCorrectAttribute() { | |
return correctAttribute; | |
} | |
public Object getOldValue() { | |
return oldValue; | |
} | |
public void setOldValue(Object oldValue) { | |
this.oldValue = oldValue; | |
} | |
public boolean isCorrectOldValue() { | |
return correctOldValue; | |
} | |
public Object getNewValue() { | |
return newValue; | |
} | |
public void setNewValue(Object newValue) { | |
this.newValue = newValue; | |
} | |
public boolean isCorrectNewValue() { | |
return correctNewValue; | |
} | |
public void reset(Object source, String attribute, Object oldValue, | |
Object newValue) { | |
triggered = false; | |
this.source = source; | |
sameSource = false; | |
this.attribute = attribute; | |
correctAttribute = false; | |
this.oldValue = oldValue; | |
correctOldValue = false; | |
this.newValue = newValue; | |
correctNewValue = false; | |
} | |
public void propertyChange(PropertyChangeEvent evt) { | |
triggered = true; | |
sameSource = (source == evt.getSource()); | |
correctAttribute = evt.getPropertyName().equals(attribute); | |
if (oldValue == null) { | |
correctOldValue = evt.getOldValue() == null; | |
} | |
else { | |
correctOldValue = oldValue.equals(evt.getOldValue()); | |
} | |
if (newValue == null) { | |
correctNewValue = evt.getNewValue() == null; | |
} | |
else { | |
correctNewValue = newValue.equals(evt.getNewValue()); | |
} | |
} | |
} |