# Package org.eclipse.birt.report.model.api.extension

package org.eclipse.birt.report.model.api.extension
Defines the fundamental interfaces for those extensions from the reportitem extension point.

## Package Specification

The extension package defines the key interfaces of those extension implementation from the reportitem extension point. All the implementation of reportitem extension point build on these interfaces to offer the extension definition, extension properties, extension choice, extension element, extension command and extension exception and other concepts defined in the reportitem extension point schema.

The key interfaces in this package include:

- `IReportItemFactory` provides methods to access the meta data of an extended type of report element and create new instance of the element`IReportItem`. See the extensive documentation in this interface for information about the services common to all extension definition.
- `IReportItem` Provides methods to access/modify properties, these methods are to be implemented if the report item stores its properties in its own model.
- `IPropertyDefinition` and `IChoiceDefinition` provide generic access to extension properties or extension structure members, and choices for extension properties or members respectively.
- `IElementCommand`, `ExtendedElementException`integrate with the models command stack, the extension plug-in needs to implement the IElementCommand interface

Related Packages
Package
Description
org.eclipse.birt.report.model.api
Tool-writer's interface for the BIRT design model (also known as the "Design Engine.")
Class
Description
ChoiceDefinition
Adapter class for the IChoiceDefinition class.
CompatibilityStatus
Class that records some status after the report item checks the compatibilities.
ElementCommand
Extension adapter class for the IElementCommand.
ExtendedElementException
Base class for all peer-provided exceptions.
IChoiceDefinition
Defines a choice within a list of property choices defined by a peer extension.
IColor
ICompatibleReportItem
Represents an instance of a extended report element that can work with the bound data columns.
IElementCommand
Represents a extended element command that is integrated with the BIRT command stack.
IEncryptionHelper
Defines the interface of encryption helper, which includes two methods for encryption and decryption.
IFont
IllegalContentInfo
IMessages
The interface for getting localized messages from extension element.
IPropertyDefinition
Defines a property or structure member provided by an peer extension.
IReportItem
Represents an instance of a extended report element.
IReportItemFactory
Represents the peer extension itself.
IResourceBundleProvider
Provides the resource bundle with the given locale.
IStyleDeclaration
Interface to traverse all the style property values.
MultiRowItem
Implements of multi row report item.
PropertyDefinition
Extension adapter class for the IPropertyDefintion.
ReportItem
Extension adapter class for the IReportItem.
ReportItemFactory
Adapter class for the IReportItemFactory interface.
SimpleRowItem
Implements of simple item that has no data rows.The constructor in sub class must call super(ExtendedItemHandle).
UndefinedPropertyInfo
Class that provides the information for undefined properties set in extended items.