57 lines
1.8 KiB
Java
57 lines
1.8 KiB
Java
package net.sf.jasperreports.engine.base;
|
|
|
|
import java.io.Serializable;
|
|
import net.sf.jasperreports.engine.JRExpression;
|
|
import net.sf.jasperreports.engine.JRPropertyExpression;
|
|
import net.sf.jasperreports.engine.design.events.JRChangeEventsSupport;
|
|
import net.sf.jasperreports.engine.design.events.JRPropertyChangeSupport;
|
|
|
|
public class JRBasePropertyExpression implements JRPropertyExpression, Serializable, JRChangeEventsSupport {
|
|
private static final long serialVersionUID = 10200L;
|
|
|
|
public static final String PROPERTY_NAME = "name";
|
|
|
|
public static final String pROPERTY_VALUE_EXPRESSION = "valueExpression";
|
|
|
|
private String name;
|
|
|
|
private JRExpression valueExpression;
|
|
|
|
private transient JRPropertyChangeSupport eventSupport;
|
|
|
|
protected JRBasePropertyExpression() {}
|
|
|
|
public JRBasePropertyExpression(JRPropertyExpression propertyExpression, JRBaseObjectFactory factory) {
|
|
this.name = propertyExpression.getName();
|
|
this.valueExpression = factory.getExpression(propertyExpression.getValueExpression());
|
|
}
|
|
|
|
public String getName() {
|
|
return this.name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
Object old = this.name;
|
|
this.name = name;
|
|
getEventSupport().firePropertyChange("name", old, this.name);
|
|
}
|
|
|
|
public JRExpression getValueExpression() {
|
|
return this.valueExpression;
|
|
}
|
|
|
|
protected void setValueExpression(JRExpression valueExpression) {
|
|
Object old = this.valueExpression;
|
|
this.valueExpression = valueExpression;
|
|
getEventSupport().firePropertyChange("valueExpression", old, this.valueExpression);
|
|
}
|
|
|
|
public JRPropertyChangeSupport getEventSupport() {
|
|
synchronized (this) {
|
|
if (this.eventSupport == null)
|
|
this.eventSupport = new JRPropertyChangeSupport(this);
|
|
}
|
|
return this.eventSupport;
|
|
}
|
|
}
|