1 32 33 package it.businesslogic.ireport; 34 35 import it.businesslogic.ireport.gui.MainFrame; 36 37 41 public class TextFieldReportElement extends it.businesslogic.ireport.TextReportElement implements HyperLinkableReportElement { 42 43 44 public final static String PATTERN = "PATTERN"; 45 public final static String DEFAULT_PATTERN = ""; 46 47 private String classExpression; 48 49 private String group; 50 51 private String evaluationTime; 52 53 private boolean blankWhenNull; 54 55 private boolean stretchWithOverflow; 56 57 59 private String anchorNameExpression = ""; 60 61 private String hyperlinkAnchorExpression = ""; 62 63 private String hyperlinkPageExpression = ""; 64 65 private String hyperlinkReferenceExpression = ""; 66 67 private String hyperlinkType = "None"; 68 69 private int bookmarkLevel = 0; 70 71 private java.util.List linkParameters = new java.util.ArrayList (); 72 73 static private java.util.List acceptedTextfieldClasses = null; 74 static { 75 acceptedTextfieldClasses = new java.util.ArrayList (); 76 77 acceptedTextfieldClasses.add("java.lang.Boolean"); 78 acceptedTextfieldClasses.add("java.lang.Byte"); 79 acceptedTextfieldClasses.add("java.util.Date"); 80 acceptedTextfieldClasses.add("java.sql.Timestamp"); 81 acceptedTextfieldClasses.add("java.sql.Time"); 82 acceptedTextfieldClasses.add("java.lang.Double"); 83 acceptedTextfieldClasses.add("java.lang.Float"); 84 acceptedTextfieldClasses.add("java.lang.Integer"); 85 acceptedTextfieldClasses.add("java.lang.Long"); 86 acceptedTextfieldClasses.add("java.lang.Short"); 87 acceptedTextfieldClasses.add("java.math.BigDecimal"); 88 acceptedTextfieldClasses.add("java.lang.Number"); 89 acceptedTextfieldClasses.add("java.lang.String"); 90 } 91 92 93 94 public TextFieldReportElement(int x, int y, int width, int height) 95 { 96 super(x,y,width,height); 97 this.setText("$F{Field}"); 98 this.stretchWithOverflow = false; 100 this.blankWhenNull = false; 101 this.group = ""; 102 this.evaluationTime = "Now"; 103 this.classExpression = "java.lang.String"; 104 this.hyperlinkType = "None"; 105 this.anchorNameExpression = ""; 106 107 setKey("textField"); 108 } 109 110 114 public boolean isBlankWhenNull() { 115 return blankWhenNull; 116 } 117 118 122 public void setBlankWhenNull(boolean blankWhenNull) { 123 this.blankWhenNull = blankWhenNull; 124 } 125 126 130 public java.lang.String getClassExpression() { 131 return classExpression; 132 } 133 134 138 public void setClassExpression(java.lang.String classExpression) { 139 this.classExpression = classExpression; 140 } 141 142 143 166 public void setMatchingClassExpression(java.lang.String newClassName, boolean adjustExpression) { 167 168 if (!acceptedTextfieldClasses.contains(newClassName)) 169 { 170 try { 171 Class newClass = MainFrame.getMainInstance().getReportClassLoader().loadClass( newClassName ); 172 setMatchingClassExpression(newClass, adjustExpression); 173 } catch (Exception ex) 174 { 175 ex.printStackTrace(); 176 } 177 } 178 else 179 { 180 setClassExpression(newClassName); 181 } 182 } 183 184 private void setMatchingClassExpression(Class newClass, boolean adjustExpression) { 185 186 Class superClass = newClass.getSuperclass(); 188 189 if (superClass == null) 190 { 191 this.classExpression = classExpression; 192 if (adjustExpression) 193 { 194 this.setText("\"\"+" + getText()); 195 } 196 } 197 else 198 { 199 setMatchingClassExpression(superClass.getName(), adjustExpression); 200 } 201 } 202 203 204 208 public java.lang.String getEvaluationTime() { 209 return evaluationTime; 210 } 211 212 216 public void setEvaluationTime(java.lang.String evaluationTime) { 217 this.evaluationTime = evaluationTime; 218 } 219 220 224 public java.lang.String getGroup() { 225 return group; 226 } 227 228 232 public void setGroup(java.lang.String group) { 233 this.group = group; 234 } 235 236 240 public java.lang.String getPattern() { 241 if (getPropertyValue( PATTERN) == null) 242 { 243 if (getStyle() != null) 245 { 246 return getStyle().getAttributeString( getStyle().ATTRIBUTE_pattern, DEFAULT_PATTERN, true); 247 } 248 } 249 return getStringValue( PATTERN, DEFAULT_PATTERN ); 250 } 251 252 256 public void setPattern(java.lang.String pattern) { 257 setPropertyValue(PATTERN, pattern); 258 } 259 260 264 public boolean isStretchWithOverflow() { 265 return stretchWithOverflow; 266 } 267 268 272 public void setStretchWithOverflow(boolean stretchWithOverflow) { 273 this.stretchWithOverflow = stretchWithOverflow; 274 } 275 276 280 public java.lang.String getAnchorNameExpression() { 281 return anchorNameExpression; 282 } 283 284 288 public void setAnchorNameExpression(java.lang.String anchorNameExpression) { 289 this.anchorNameExpression = anchorNameExpression; 290 } 291 292 296 public java.lang.String getHyperlinkAnchorExpression() { 297 return hyperlinkAnchorExpression; 298 } 299 300 304 public void setHyperlinkAnchorExpression(java.lang.String hyperlinkAnchorExpression) { 305 this.hyperlinkAnchorExpression = hyperlinkAnchorExpression; 306 } 307 308 312 public java.lang.String getHyperlinkPageExpression() { 313 return hyperlinkPageExpression; 314 } 315 316 320 public void setHyperlinkPageExpression(java.lang.String hyperlinkPageExpression) { 321 this.hyperlinkPageExpression = hyperlinkPageExpression; 322 } 323 324 328 public java.lang.String getHyperlinkReferenceExpression() { 329 return hyperlinkReferenceExpression; 330 } 331 332 336 public void setHyperlinkReferenceExpression(java.lang.String hyperlinkReferenceExpression) { 337 this.hyperlinkReferenceExpression = hyperlinkReferenceExpression; 338 } 339 340 344 public java.lang.String getHyperlinkType() { 345 return hyperlinkType; 346 } 347 348 352 public void setHyperlinkType(java.lang.String hyperlinkType) { 353 this.hyperlinkType = hyperlinkType; 354 } 355 356 public ReportElement cloneMe() 357 { 358 TextFieldReportElement newReportElement = new TextFieldReportElement(position.x, position.y, width, height); 359 copyBaseReportElement(newReportElement, this); 360 return newReportElement; 361 } 362 363 public void copyBaseReportElement(ReportElement destination, ReportElement source) 364 { 365 super.copyBaseReportElement(destination, source); 366 367 if (destination instanceof TextFieldReportElement && 368 source instanceof TextFieldReportElement ) 369 { 370 destination.setPropertyValue(PATTERN, source.getPropertyValue(PATTERN)); 371 ((TextFieldReportElement)destination).setBlankWhenNull( ((TextFieldReportElement)source).isBlankWhenNull()); 372 ((TextFieldReportElement)destination).setClassExpression(new String ( ((TextFieldReportElement)source).getClassExpression() )); 373 ((TextFieldReportElement)destination).setEvaluationTime(new String ( ((TextFieldReportElement)source).getEvaluationTime() )); 374 ((TextFieldReportElement)destination).setGroup(new String ( ((TextFieldReportElement)source).getGroup())); 375 ((TextFieldReportElement)destination).setStretchWithOverflow( ((TextFieldReportElement)source).isStretchWithOverflow() ); 377 378 379 ((HyperLinkableReportElement)destination).setAnchorNameExpression(new String ( ((HyperLinkableReportElement)source).getAnchorNameExpression() )); 380 ((HyperLinkableReportElement)destination).setHyperlinkAnchorExpression(new String ( ((HyperLinkableReportElement)source).getHyperlinkAnchorExpression() )); 381 ((HyperLinkableReportElement)destination).setHyperlinkPageExpression(new String ( ((HyperLinkableReportElement)source).getHyperlinkPageExpression() )); 382 ((HyperLinkableReportElement)destination).setHyperlinkReferenceExpression(new String ( ((HyperLinkableReportElement)source).getHyperlinkReferenceExpression() )); 383 ((HyperLinkableReportElement)destination).setHyperlinkType(new String ( ((HyperLinkableReportElement)source).getHyperlinkType() )); 384 } 385 } 386 387 protected String hyperlinkTarget = "Self"; 388 392 public java.lang.String getHyperlinkTarget(){ return hyperlinkTarget; } 393 394 398 public void setHyperlinkTarget(java.lang.String hyperlinkTarget) { this.hyperlinkTarget = hyperlinkTarget; } 399 400 public int getBookmarkLevel() { 401 return bookmarkLevel; 402 } 403 404 public void setBookmarkLevel(int bookmarkLevel) { 405 this.bookmarkLevel = bookmarkLevel; 406 } 407 408 public void setStyle(Style style) { 409 410 super.setStyle(style); 411 412 if (style != null) 413 { 414 this.setBlankWhenNull( style.getAttributeBoolean( style.ATTRIBUTE_isBlankWhenNull, isBlankWhenNull(), true)); 416 } 418 } 419 420 public java.util.List getLinkParameters() { 421 return linkParameters; 422 } 423 424 public void setLinkParameters(java.util.List linkParameters) { 425 this.linkParameters = linkParameters; 426 } 427 } 428 | Popular Tags |