org.jfree.report.modules.output.table.base
Class AbstractTableCreator

java.lang.Object
  |
  +--org.jfree.report.modules.output.table.base.AbstractTableCreator
Direct Known Subclasses:
DefaultLayoutCreator, TableContentCreator

public abstract class AbstractTableCreator
extends java.lang.Object
implements TableCreator


Constructor Summary
AbstractTableCreator()
           
 
Method Summary
 boolean isEmpty()
          Checks, whether the current table contains content.
 boolean isIgnoreOpenState()
           
 void processBand(MetaBand band)
          Processes the given metaband.
protected abstract  boolean processBandDefinition(MetaBand e)
          Add the specified band definition to the table sheet.
protected abstract  void processElement(MetaElement e)
          Add the specified element to the logical page.
 void setEmpty(boolean b)
           
 void setIgnoreOpenState(boolean ignoreOpenState)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractTableCreator

public AbstractTableCreator()
Method Detail

setEmpty

public void setEmpty(boolean b)

isEmpty

public boolean isEmpty()
Checks, whether the current table contains content. Returns true, if there is no current table open.
Specified by:
isEmpty in interface TableCreator
Returns:
true, if the table does not contain content, false otherwise.

processElement

protected abstract void processElement(MetaElement e)
Add the specified element to the logical page. Create content from the values contained in the element and format the content by using the element's attributes.
Parameters:
e - the element.
Throws:
java.lang.NullPointerException - if the element has no valid layout (no BOUNDS defined). Bounds are usually defined by the BandLayoutManager.

processBandDefinition

protected abstract boolean processBandDefinition(MetaBand e)
Add the specified band definition to the table sheet. By default, Band definitions are not used to create content, but they might be important for the layout. it is up to the implementor to decide whether to use the supplied content of the band (if any).
Parameters:
e - the element.
Returns:
true, if the band is fully processed and the children should be ignored, false to indicate that we need the children to complete the process.
Throws:
java.lang.NullPointerException - if the element has no valid layout (no BOUNDS defined). Bounds are usually defined by the BandLayoutManager.

isIgnoreOpenState

public boolean isIgnoreOpenState()
Specified by:
isIgnoreOpenState in interface TableCreator

setIgnoreOpenState

public void setIgnoreOpenState(boolean ignoreOpenState)
Specified by:
setIgnoreOpenState in interface TableCreator

processBand

public void processBand(MetaBand band)
Processes the given metaband. The MetaBandProducer has already collected all necessary data to allow the content creation. Table implementors should provide their own MetaBandProducer if they need additional properties.
Specified by:
processBand in interface TableCreator
Parameters:
band - the metaband that is processed.