Package org.eclipse.birt.report.engine.extension

# Interface IReportItemGeneration

public interface IReportItemGeneration
Represents the extended item generation extension, which processes the report item at report geenration time.

## Method Summary

Modifier and Type
Method
Description
`void`
`finish()`
Performs clean up work
`IReportItemGenerationInfo`
`getGenerationConfig()`
`org.eclipse.birt.report.engine.extension.Size`
`getSize()`
Get the size of the extended item.
`void`
`init(IReportItemGenerationInfo info)`
`boolean`
`needSerialization()`
returns whether the extended item needs serialization of state information at generation time
`void`
`onRowSets(IBaseResultSet[] results)`
processes the extended item in report generation environment.
`void`
`onRowSets(IRowSet[] rowSets)`
Deprecated.
since BIRT 2.3
`void`
`serialize(OutputStream ostream)`
serializes the extended item generation time state.
`void`
`setApplicationClassLoader(ClassLoader loader)`
Deprecated.
implement #init(IReportItemGenerationInfo) instead
`void`
`setExtendedItemContent(IContent content)`
Deprecated.
implement #init(IReportItemGenerationInfo) instead
`void`
`setModelObject(org.eclipse.birt.report.model.api.ExtendedItemHandle modelHandle)`
Deprecated.
implement #init(IReportItemGenerationInfo) instead
`void`
`setReportQueries(org.eclipse.birt.data.engine.api.IDataQueryDefinition[] queries)`
Deprecated.
implement #init(IReportItemGenerationInfo) instead
`void`
`setScriptContext(org.eclipse.birt.report.engine.api.script.IReportContext context)`
Deprecated.
implement #init(IReportItemGenerationInfo) instead

## Method Details

### init

void init(IReportItemGenerationInfo info)

Since:
  BIRT 2.3

### setModelObject

@Deprecated void setModelObject(org.eclipse.birt.report.model.api.ExtendedItemHandle modelHandle)
Deprecated.
implement #init(IReportItemGenerationInfo) instead
passes a handle to the extended report item model to the extension

Parameters:
  `modelHandle` - a handle to the extended item model object

### setApplicationClassLoader

@Deprecated void setApplicationClassLoader(ClassLoader loader)
Deprecated.
implement #init(IReportItemGenerationInfo) instead
passes the class loader used to load user defined classes.

Parameters:
  `loader` - class loader used to load the classes

### setScriptContext

@Deprecated void setScriptContext(org.eclipse.birt.report.engine.api.script.IReportContext context)
Deprecated.
implement #init(IReportItemGenerationInfo) instead
pass the script context to the report item.

Parameters:
  `context` - report context used by java-based script

### setReportQueries

@Deprecated void setReportQueries(org.eclipse.birt.data.engine.api.IDataQueryDefinition[] queries)
Deprecated.
implement #init(IReportItemGenerationInfo) instead
pass the prepared query definition to extended item implementation, so that it can access data.

### onRowSets

@Deprecated void onRowSets(IRowSet[] rowSets) throws org.eclipse.birt.core.exception.BirtException
Deprecated.
since BIRT 2.3
processes the extended item in report generation environment.

Parameters:
  `rowSets` - rowSets an array of row sets that is passed to the extension
Throws:
  `org.eclipse.birt.core.exception.BirtException` - throws exception when there is a problem processing the extended item

### onRowSets

void onRowSets(IBaseResultSet[] results) throws org.eclipse.birt.core.exception.BirtException
processes the extended item in report generation environment.

Parameters:
  `results` - results is an array of query results which is passed to the extended item. The extended item could retrieve data from those results.
Throws:
  `org.eclipse.birt.core.exception.BirtException` - throws exception when there is a problem processing the extended item

### needSerialization

boolean needSerialization()
returns whether the extended item needs serialization of state information at generation time

Returns:
  whether the extended item needs to serialize state information at generation time

### serialize

void serialize(OutputStream ostream) throws org.eclipse.birt.core.exception.BirtException
serializes the extended item generation time state. The application developer should not assume that the output stream is a file stream. Presentation engine guarantees that a corresponding input stream is available for deserializing what is written by this function.

Parameters:
  `ostream` - the output stream to write the generation time state of the extended item to
Throws:
  `org.eclipse.birt.core.exception.BirtException` - when there is a problem serializing the extended item state

### getSize

org.eclipse.birt.report.engine.extension.Size getSize()
Get the size of the extended item. The size is a Dimension object. The width and height can only be in absolute units (inch, mm, etc.) or pixel. It can not be a relative size such as 150% or 1.2em. Notice that an extended item can obtain its design-time size information by querying DE. This function is needed because the actual size may not be the same as the design-time size.

Returns:
  the size of the extended item. Return null if the size does not matter or can not be determined.

### finish

void finish()
Performs clean up work

### setExtendedItemContent

@Deprecated void setExtendedItemContent(IContent content)
Deprecated.
implement #init(IReportItemGenerationInfo) instead
Set the content which is transformed from extended item. Extended item can process some properties itself, such as bookmark, style etc.

Parameters:
  `content` - content which is transformed from extended item.

### getGenerationConfig

IReportItemGenerationInfo getGenerationConfig()