org.jfree.report.structure

Class Section

Implemented Interfaces:
Cloneable, Serializable
Known Direct Subclasses:
DetailSection, Group, ReportDefinition

public class Section
extends Element

A report section is a collection of other elements and sections.

This implementation is not synchronized, to take care that you externally synchronize it when using multiple threads to modify instances of this class.

Trying to add a parent of an band as child to the band, will result in an exception.

The attribute and style expressions added to the element are considered unnamed and stateless. To define a named, statefull state expression, one would create an ordinary named expression or function and would then reference that expression from within a style or attribute expression.

Author:
Thomas Morgner

Field Summary

Fields inherited from class org.jfree.report.structure.Element

ID_ATTRIBUTE, NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VIRTUAL_ATTRIBUTE

Constructor Summary

Section()
Constructs a new band (initially empty).

Method Summary

void
addNode(int position, Node element)
Adds a report element to the band.
void
addNode(Node element)
Adds a report element to the band.
void
addNodes(Collection elements)
Adds a collection of elements to the band.
void
addOperationAfter(FlowControlOperation op)
void
addOperationBefore(FlowControlOperation op)
Object
clone()
Element
findFirstChild(String uri, String tagName)
Element
getElementByName(String name)
Returns the first element in the list that is known by the given name.
Node
getNode(int index)
Returns the element stored add the given index.
Node[]
getNodeArray()
Returns an array of the elements in the band.
int
getNodeCount()
Returns the number of elements in this band.
List
getNodes()
Deprecated. use getElementArray() instead.
FlowControlOperation[]
getOperationAfter()
FlowControlOperation[]
getOperationBefore()
boolean
isRepeat()
void
removeNode(Node e)
Removes an element from the band.
void
setOperationAfter(FlowControlOperation[] ops)
void
setOperationBefore(FlowControlOperation[] before)
void
setRepeat(boolean repeat)
String
toString()
Returns a string representation of the band and all the elements it contains, useful mainly for debugging purposes.

Methods inherited from class org.jfree.report.structure.Element

addExpression, clone, getAttribute, getAttribute, getAttributeExpression, getAttributeExpression, getAttributeExpressionMap, getAttributeExpressions, getAttributeMap, getAttributeNameSpaces, getAttributes, getDisplayCondition, getExpressions, getId, getLocale, getLocaleFromAttributes, getName, getNamespace, getStyle, getStyleExpression, getStyleExpressions, getType, getVisibility, isEnabled, isVirtual, setAttribute, setAttribute, setAttributeExpression, setAttributeExpression, setDisplayCondition, setEnabled, setExpressions, setId, setName, setNamespace, setStyleExpression, setType, setVirtual, setVisibility

Methods inherited from class org.jfree.report.structure.Node

clone, getDisplayCondition, getGroup, getLocale, getParent, getReport, getRootReport, isEnabled, setParent, updateParent

Constructor Details

Section

public Section()
Constructs a new band (initially empty).

Method Details

addNode

public void addNode(int position,
                    Node element)
Adds a report element to the band. The element will be inserted at the specified position.
Parameters:
position - the position where to insert the element
element - the element that should be added

addNode

public void addNode(Node element)
Adds a report element to the band.
Parameters:
element - the element that should be added

addNodes

public void addNodes(Collection elements)
Adds a collection of elements to the band.
Parameters:
elements - the element collection.

addOperationAfter

public void addOperationAfter(FlowControlOperation op)

addOperationBefore

public void addOperationBefore(FlowControlOperation op)

clone

public Object clone()
            throws CloneNotSupportedException
Overrides:
clone in interface Element

findFirstChild

public Element findFirstChild(String uri,
                              String tagName)

getElementByName

public Element getElementByName(String name)
Returns the first element in the list that is known by the given name.
Parameters:
name - the element name.
Returns:
the first element with the specified name, or null if there is no such element.

getNode

public Node getNode(int index)
Returns the element stored add the given index.
Parameters:
index - the element position within this band
Returns:
the element

getNodeArray

public Node[] getNodeArray()
Returns an array of the elements in the band. If the band is empty, an empty array is returned.

For performance reasons, a shared cached instance is returned. Do not modify the returned array or live with the consquences.

Returns:
the elements.

getNodeCount

public int getNodeCount()
Returns the number of elements in this band.
Returns:
the number of elements of this band.

getNodes

public List getNodes()

Deprecated. use getElementArray() instead.

Returns all child-elements of this band as immutable list.
Returns:
an immutable list of all registered elements for this band.

getOperationAfter

public FlowControlOperation[] getOperationAfter()

getOperationBefore

public FlowControlOperation[] getOperationBefore()

isRepeat

public boolean isRepeat()

removeNode

public void removeNode(Node e)
Removes an element from the band.
Parameters:
e - the element to be removed.

setOperationAfter

public void setOperationAfter(FlowControlOperation[] ops)

setOperationBefore

public void setOperationBefore(FlowControlOperation[] before)

setRepeat

public void setRepeat(boolean repeat)

toString

public String toString()
Returns a string representation of the band and all the elements it contains, useful mainly for debugging purposes.
Returns:
a string representation of this band.