All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.com.ibm.as400.util.html.HTMLTableHeader Maven / Gradle / Ivy

The newest version!
///////////////////////////////////////////////////////////////////////////////
//                                                                             
// JTOpen (IBM Toolbox for Java - OSS version)                                 
//                                                                             
// Filename: HTMLTableHeader.java
//                                                                             
// The source code contained herein is licensed under the IBM Public License   
// Version 1.0, which has been approved by the Open Source Initiative.         
// Copyright (C) 1997-2001 International Business Machines Corporation and     
// others. All rights reserved.                                                
//                                                                             
///////////////////////////////////////////////////////////////////////////////

package com.ibm.as400.util.html;

import com.ibm.as400.access.Trace;
import java.beans.PropertyVetoException;

/**
*  The HTMLTableHeader represents an HTML table header tag.
*
*  

This example creates an HTMLTableHeader and displays the tag output. *

*  HTMLTableHeader header = new HTMLTableHeader();
*  header.setHorizontalAlignment(HTMLTableHeader.CENTER);
*  HTMLText headerText = new HTMLText("Customer Name");
*  header.setElement(headerText);
*  System.out.println(header.getTag());
*  
* Here is the output of the tag: *
*  <th align="center">Customer Name</th>
*  
*

Calling getFOTag() produces the following tag with the default cell border and padding properties: *

*  <fo:table-cell border-style='solid' border-width='1px' padding='1px'>
*  <fo:block font-weight='bold'><fo:block>Customer Name</fo:block>
*  </fo:block>
*  </fo:table-cell>
*  
* **/ public class HTMLTableHeader extends HTMLTableCell { private static final String copyright = "Copyright (C) 1997-2001 International Business Machines Corporation and others."; static final long serialVersionUID = 6954665365850223957L; private boolean useFO_ = false; // Set use FO tag. //@C1A private int borderWidth_ = 1; // The table border. //@C1A private int cellPadding_ = 1; //The cell padding //@C1A /** * Constructs a default HTMLTableHeader object. **/ public HTMLTableHeader() { super(); } /** * Constructs an HTMLTableHeader object with the specified data element. * @param element An HTMLTagElement object containing the data. **/ public HTMLTableHeader(HTMLTagElement element) { super(element); } /** * Returns the table header tag. * @return The HTML tag. **/ public String getTag() { return getTag(getElement()); } /** * Returns the XSL-FO table header tag. * @return the XSL-FO tag **/ public String getFOTag() //@C1A { return getFOTag(getElement()); } /** * Returns the table header tag with the specified data element. * @return The XSL-FO tag. **/ public String getFOTag(HTMLTagElement element) //@C1A { //Save the current state of useFO_ boolean useFO = useFO_; setUseFO(true); if (element == null) throw new NullPointerException("element"); StringBuffer tag = new StringBuffer(" 1) { tag.append(" height='"); tag.append(height); if(isHeightInPercent()) tag.append("%"); tag.append("'"); } int width = getWidth(); if(width > 1) { tag.append(" width='"); tag.append(width); if(isWidthInPercent()) tag.append("%"); tag.append("'"); } int columnSpan = getColumnSpan(); if (columnSpan > 1) { tag.append(" number-columns-spanned='"); tag.append(columnSpan); tag.append("'"); } int rowSpan = getRowSpan(); if (rowSpan > 1) { tag.append(" number-rows-spanned='"); tag.append(rowSpan); tag.append("'"); } tag.append(">\n"); tag.append("0)) { if(dir.equals(HTMLConstants.RTL)) tag.append(" writing-mode='rl'"); else tag.append(" writing-mode='lr'"); } String align = getHorizontalAlignment(); if(align != null) { tag.append(" text-align='"); if(align.equals(HTMLConstants.CENTER)) tag.append("center"); else if(align.equals(HTMLConstants.LEFT)) tag.append("start"); else if(align.equals(HTMLConstants.RIGHT)) tag.append("end"); tag.append("'"); } tag.append(">"); tag.append(element.getFOTag()); tag.append("\n"); tag.append("\n"); //Set useFO_ to previous state setUseFO(useFO); return tag.toString(); } /** * Returns the table header tag with the specified data element. * @return The HTML tag. **/ public String getTag(HTMLTagElement element) { //@B1D if(useFO_) //@C1A return getFOTag(element); //@C1A if (element == null) throw new NullPointerException("element"); StringBuffer tag = new StringBuffer("\n"); return tag.toString(); //@C1C } /** * Returns if Formatting Object tags are outputted. * The default value is false. * @return true if the output generated is an XSL formatting object, false if the output generated is HTML. **/ public boolean isUseFO() //@C1A { return useFO_; } /** * Sets the border width in pixels. A value of zero indicates no border. * The default value is one. * @param borderWidth The border width. **/ public void setBorderWidth(int borderWidth) //@C1A { Integer oldWidth = new Integer(borderWidth_); Integer newWidth = new Integer(borderWidth); borderWidth_ = borderWidth; if (changes_ != null) changes_.firePropertyChange("borderWidth", oldWidth, newWidth); } /** * Sets the global table cell padding. The cell padding is the spacing between * data in a table cell and the border of the cell. * The default value is 1 * @param cellPadding The cell padding. **/ public void setCellPadding(int cellPadding) //@C1A { Integer oldPadding = new Integer(cellPadding_); Integer newPadding = new Integer(cellPadding); cellPadding_ = cellPadding; if (changes_ != null) changes_.firePropertyChange("cellPadding", oldPadding, newPadding); } /** * Sets if Formatting Object tags should be used. * The default value is false. * @param useFO - true if output generated is an XSL formatting object, false if the output generated is HTML. **/ public void setUseFO(boolean useFO) //@C1A { boolean old = useFO_; useFO_ = useFO; if (changes_ != null) changes_.firePropertyChange("useFO", old, useFO ); } /** * Returns the HTML table header tag. * @return The header tag. **/ public String toString() { return getTag(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy