first commit
This commit is contained in:
@@ -0,0 +1,312 @@
|
||||
package net.sf.jasperreports.engine.design;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import net.sf.jasperreports.engine.JRDefaultStyleProvider;
|
||||
import net.sf.jasperreports.engine.JRExpression;
|
||||
import net.sf.jasperreports.engine.JRExpressionCollector;
|
||||
import net.sf.jasperreports.engine.JRGroup;
|
||||
import net.sf.jasperreports.engine.JRHyperlink;
|
||||
import net.sf.jasperreports.engine.JRHyperlinkHelper;
|
||||
import net.sf.jasperreports.engine.JRHyperlinkParameter;
|
||||
import net.sf.jasperreports.engine.JRTextField;
|
||||
import net.sf.jasperreports.engine.JRVisitor;
|
||||
import net.sf.jasperreports.engine.util.JRStyleResolver;
|
||||
|
||||
public class JRDesignTextField extends JRDesignTextElement implements JRTextField {
|
||||
private static final long serialVersionUID = 10200L;
|
||||
|
||||
public static final String PROPERTY_ANCHOR_NAME_EXPRESSION = "anchorNameExpression";
|
||||
|
||||
public static final String PROPERTY_BOOKMARK_LEVEL = "bookmarkLevel";
|
||||
|
||||
public static final String PROPERTY_EVALUATION_GROUP = "evaluationGroup";
|
||||
|
||||
public static final String PROPERTY_EVALUATION_TIME = "evaluationTime";
|
||||
|
||||
public static final String PROPERTY_EXPRESSION = "expression";
|
||||
|
||||
protected boolean isStretchWithOverflow = false;
|
||||
|
||||
protected byte evaluationTime = 1;
|
||||
|
||||
protected String pattern = null;
|
||||
|
||||
protected Boolean isBlankWhenNull = null;
|
||||
|
||||
protected byte hyperlinkType = 0;
|
||||
|
||||
protected String linkType;
|
||||
|
||||
protected byte hyperlinkTarget = 1;
|
||||
|
||||
private List hyperlinkParameters;
|
||||
|
||||
protected JRGroup evaluationGroup = null;
|
||||
|
||||
protected JRExpression expression = null;
|
||||
|
||||
protected JRExpression anchorNameExpression = null;
|
||||
|
||||
protected JRExpression hyperlinkReferenceExpression = null;
|
||||
|
||||
protected JRExpression hyperlinkAnchorExpression = null;
|
||||
|
||||
protected JRExpression hyperlinkPageExpression = null;
|
||||
|
||||
private JRExpression hyperlinkTooltipExpression;
|
||||
|
||||
protected int bookmarkLevel = 0;
|
||||
|
||||
public JRDesignTextField() {
|
||||
super((JRDefaultStyleProvider)null);
|
||||
this.hyperlinkParameters = new ArrayList();
|
||||
}
|
||||
|
||||
public JRDesignTextField(JRDefaultStyleProvider defaultStyleProvider) {
|
||||
super(defaultStyleProvider);
|
||||
this.hyperlinkParameters = new ArrayList();
|
||||
}
|
||||
|
||||
public boolean isStretchWithOverflow() {
|
||||
return this.isStretchWithOverflow;
|
||||
}
|
||||
|
||||
public byte getEvaluationTime() {
|
||||
return this.evaluationTime;
|
||||
}
|
||||
|
||||
public String getPattern() {
|
||||
return JRStyleResolver.getPattern(this);
|
||||
}
|
||||
|
||||
public String getOwnPattern() {
|
||||
return this.pattern;
|
||||
}
|
||||
|
||||
public boolean isBlankWhenNull() {
|
||||
return JRStyleResolver.isBlankWhenNull(this);
|
||||
}
|
||||
|
||||
public Boolean isOwnBlankWhenNull() {
|
||||
return this.isBlankWhenNull;
|
||||
}
|
||||
|
||||
public byte getHyperlinkType() {
|
||||
return JRHyperlinkHelper.getHyperlinkType((JRHyperlink)this);
|
||||
}
|
||||
|
||||
public byte getHyperlinkTarget() {
|
||||
return this.hyperlinkTarget;
|
||||
}
|
||||
|
||||
public JRGroup getEvaluationGroup() {
|
||||
return this.evaluationGroup;
|
||||
}
|
||||
|
||||
public JRExpression getExpression() {
|
||||
return this.expression;
|
||||
}
|
||||
|
||||
public JRExpression getAnchorNameExpression() {
|
||||
return this.anchorNameExpression;
|
||||
}
|
||||
|
||||
public JRExpression getHyperlinkReferenceExpression() {
|
||||
return this.hyperlinkReferenceExpression;
|
||||
}
|
||||
|
||||
public JRExpression getHyperlinkAnchorExpression() {
|
||||
return this.hyperlinkAnchorExpression;
|
||||
}
|
||||
|
||||
public JRExpression getHyperlinkPageExpression() {
|
||||
return this.hyperlinkPageExpression;
|
||||
}
|
||||
|
||||
public void setStretchWithOverflow(boolean isStretch) {
|
||||
boolean old = this.isStretchWithOverflow;
|
||||
this.isStretchWithOverflow = isStretch;
|
||||
getEventSupport().firePropertyChange("stretchWithOverflow", old, this.isStretchWithOverflow);
|
||||
}
|
||||
|
||||
public void setEvaluationTime(byte evaluationTime) {
|
||||
byte old = this.evaluationTime;
|
||||
this.evaluationTime = evaluationTime;
|
||||
getEventSupport().firePropertyChange("evaluationTime", old, this.evaluationTime);
|
||||
}
|
||||
|
||||
public void setPattern(String pattern) {
|
||||
Object old = this.pattern;
|
||||
this.pattern = pattern;
|
||||
getEventSupport().firePropertyChange("pattern", old, this.pattern);
|
||||
}
|
||||
|
||||
public void setBlankWhenNull(boolean isBlank) {
|
||||
setBlankWhenNull(isBlank ? Boolean.TRUE : Boolean.FALSE);
|
||||
}
|
||||
|
||||
public void setBlankWhenNull(Boolean isBlank) {
|
||||
Object old = this.isBlankWhenNull;
|
||||
this.isBlankWhenNull = isBlank;
|
||||
getEventSupport().firePropertyChange("blankWhenNull", old, this.isBlankWhenNull);
|
||||
}
|
||||
|
||||
public void setHyperlinkType(byte hyperlinkType) {
|
||||
setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType));
|
||||
}
|
||||
|
||||
public void setHyperlinkTarget(byte hyperlinkTarget) {
|
||||
byte old = this.hyperlinkTarget;
|
||||
this.hyperlinkTarget = hyperlinkTarget;
|
||||
getEventSupport().firePropertyChange("hyperlinkTarget", old, this.hyperlinkTarget);
|
||||
}
|
||||
|
||||
public void setEvaluationGroup(JRGroup evaluationGroup) {
|
||||
Object old = this.evaluationGroup;
|
||||
this.evaluationGroup = evaluationGroup;
|
||||
getEventSupport().firePropertyChange("evaluationGroup", old, this.evaluationGroup);
|
||||
}
|
||||
|
||||
public void setExpression(JRExpression expression) {
|
||||
Object old = this.expression;
|
||||
this.expression = expression;
|
||||
getEventSupport().firePropertyChange("expression", old, this.expression);
|
||||
}
|
||||
|
||||
public void setAnchorNameExpression(JRExpression anchorNameExpression) {
|
||||
Object old = this.anchorNameExpression;
|
||||
this.anchorNameExpression = anchorNameExpression;
|
||||
getEventSupport().firePropertyChange("anchorNameExpression", old, this.anchorNameExpression);
|
||||
}
|
||||
|
||||
public void setHyperlinkReferenceExpression(JRExpression hyperlinkReferenceExpression) {
|
||||
Object old = this.hyperlinkReferenceExpression;
|
||||
this.hyperlinkReferenceExpression = hyperlinkReferenceExpression;
|
||||
getEventSupport().firePropertyChange("hyperlinkReferenceExpression", old, this.hyperlinkReferenceExpression);
|
||||
}
|
||||
|
||||
public void setHyperlinkAnchorExpression(JRExpression hyperlinkAnchorExpression) {
|
||||
Object old = this.hyperlinkAnchorExpression;
|
||||
this.hyperlinkAnchorExpression = hyperlinkAnchorExpression;
|
||||
getEventSupport().firePropertyChange("hyperlinkAnchorExpression", old, this.hyperlinkAnchorExpression);
|
||||
}
|
||||
|
||||
public void setHyperlinkPageExpression(JRExpression hyperlinkPageExpression) {
|
||||
Object old = this.hyperlinkPageExpression;
|
||||
this.hyperlinkPageExpression = hyperlinkPageExpression;
|
||||
getEventSupport().firePropertyChange("hyperlinkPageExpression", old, this.hyperlinkPageExpression);
|
||||
}
|
||||
|
||||
public void collectExpressions(JRExpressionCollector collector) {
|
||||
collector.collect(this);
|
||||
}
|
||||
|
||||
public void visit(JRVisitor visitor) {
|
||||
visitor.visitTextField(this);
|
||||
}
|
||||
|
||||
public int getBookmarkLevel() {
|
||||
return this.bookmarkLevel;
|
||||
}
|
||||
|
||||
public void setBookmarkLevel(int bookmarkLevel) {
|
||||
int old = this.bookmarkLevel;
|
||||
this.bookmarkLevel = bookmarkLevel;
|
||||
getEventSupport().firePropertyChange("bookmarkLevel", old, this.bookmarkLevel);
|
||||
}
|
||||
|
||||
public String getLinkType() {
|
||||
return this.linkType;
|
||||
}
|
||||
|
||||
public void setLinkType(String type) {
|
||||
Object old = this.linkType;
|
||||
this.linkType = type;
|
||||
getEventSupport().firePropertyChange("linkType", old, this.linkType);
|
||||
}
|
||||
|
||||
public JRHyperlinkParameter[] getHyperlinkParameters() {
|
||||
JRHyperlinkParameter[] parameters;
|
||||
if (this.hyperlinkParameters.isEmpty()) {
|
||||
parameters = null;
|
||||
} else {
|
||||
parameters = new JRHyperlinkParameter[this.hyperlinkParameters.size()];
|
||||
this.hyperlinkParameters.toArray((Object[])parameters);
|
||||
}
|
||||
return parameters;
|
||||
}
|
||||
|
||||
public List getHyperlinkParametersList() {
|
||||
return this.hyperlinkParameters;
|
||||
}
|
||||
|
||||
public void addHyperlinkParameter(JRHyperlinkParameter parameter) {
|
||||
this.hyperlinkParameters.add(parameter);
|
||||
getEventSupport().fireCollectionElementAddedEvent("hyperlinkParameters", parameter, this.hyperlinkParameters.size() - 1);
|
||||
}
|
||||
|
||||
public void removeHyperlinkParameter(JRHyperlinkParameter parameter) {
|
||||
int idx = this.hyperlinkParameters.indexOf(parameter);
|
||||
if (idx >= 0) {
|
||||
this.hyperlinkParameters.remove(idx);
|
||||
getEventSupport().fireCollectionElementRemovedEvent("hyperlinkParameters", parameter, idx);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeHyperlinkParameter(String parameterName) {
|
||||
for (ListIterator it = this.hyperlinkParameters.listIterator(); it.hasNext(); ) {
|
||||
JRHyperlinkParameter parameter = it.next();
|
||||
if (parameter.getName() != null && parameter.getName().equals(parameterName)) {
|
||||
it.remove();
|
||||
getEventSupport().fireCollectionElementRemovedEvent("hyperlinkParameters", parameter, it.nextIndex());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
|
||||
in.defaultReadObject();
|
||||
normalizeLinkType();
|
||||
}
|
||||
|
||||
protected void normalizeLinkType() {
|
||||
if (this.linkType == null)
|
||||
this.linkType = JRHyperlinkHelper.getLinkType(this.hyperlinkType);
|
||||
this.hyperlinkType = 0;
|
||||
}
|
||||
|
||||
public JRExpression getHyperlinkTooltipExpression() {
|
||||
return this.hyperlinkTooltipExpression;
|
||||
}
|
||||
|
||||
public void setHyperlinkTooltipExpression(JRExpression hyperlinkTooltipExpression) {
|
||||
Object old = this.hyperlinkTooltipExpression;
|
||||
this.hyperlinkTooltipExpression = hyperlinkTooltipExpression;
|
||||
getEventSupport().firePropertyChange("hyperlinkTooltipExpression", old, this.hyperlinkTooltipExpression);
|
||||
}
|
||||
|
||||
public Object clone() {
|
||||
JRDesignTextField clone = (JRDesignTextField)super.clone();
|
||||
if (this.hyperlinkParameters != null) {
|
||||
clone.hyperlinkParameters = new ArrayList(this.hyperlinkParameters.size());
|
||||
for (int i = 0; i < this.hyperlinkParameters.size(); i++)
|
||||
clone.hyperlinkParameters.add(((JRHyperlinkParameter)this.hyperlinkParameters.get(i)).clone());
|
||||
}
|
||||
if (this.expression != null)
|
||||
clone.expression = (JRExpression)this.expression.clone();
|
||||
if (this.anchorNameExpression != null)
|
||||
clone.anchorNameExpression = (JRExpression)this.anchorNameExpression.clone();
|
||||
if (this.hyperlinkReferenceExpression != null)
|
||||
clone.hyperlinkReferenceExpression = (JRExpression)this.hyperlinkReferenceExpression.clone();
|
||||
if (this.hyperlinkAnchorExpression != null)
|
||||
clone.hyperlinkAnchorExpression = (JRExpression)this.hyperlinkAnchorExpression.clone();
|
||||
if (this.hyperlinkPageExpression != null)
|
||||
clone.hyperlinkPageExpression = (JRExpression)this.hyperlinkPageExpression.clone();
|
||||
if (this.hyperlinkTooltipExpression != null)
|
||||
clone.hyperlinkTooltipExpression = (JRExpression)this.hyperlinkTooltipExpression.clone();
|
||||
return clone;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user