Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.birt.report.model.api.extension
Interface IReportItem

All Known Implementing Classes:
  ReportItem

    public interface IReportItem

Represents an instance of a extended report element. There is a one-to-one correspondence between the BIRT-defined report item and this IReportItem.

                             BIRT Extended Item <--> ExtendedItem

IReportItem is responsible for storing model data, and for serializing the model state. They can optionally provide generic property access.

Method Summary
`java.util.Iterator` | `availableBindings()` Gets the iterator of all available bindings.
`boolean` | `canExport()` Indicates whether the report item can be allowed to export to library.
`void` | `checkProperty(java.lang.String propName, java.lang.Object value)` Checks the value of a property prior to setting it.
`IReportItem` | `copy()` Creates deep copy of the IReportItem and return the new element.
`void` | `deserialize(java.lang.String propName, java.io.ByteArrayInputStream data)` Deserializes the model.
`IPropertyDefinition[]` | `getMethods()` Deprecated. by `getMethods(String)`
`IMethodInfo[]` | `getMethods(java.lang.String methodName)` Returns the method info list of extension elements.
`java.util.List<java.lang.Object>` | `getPredefinedStyles()` Gets list of the predefined styles.
`java.lang.Object` | `getProperty(java.lang.String propName)` Returns the value of a public property.
`IPropertyDefinition[]` | `getPropertyDefinitions()` Gets the list of all the property definitions that the extended element model has.
`IPropertyDefinition` | `getScriptPropertyDefinition()` Gets the script property definition of this report item.
`IReportItem` | `getSimpleElement()` Returns the interface for script operations.
`boolean` | `refreshPropertyDefinition()` Justifies whether the property list of the extended element is changed.
`java.io.ByteArrayOutputStream` | `serialize(java.lang.String propName)` Serializes the model given the property name.
`void` | `setHandle(ExtendedItemHandle handle)` Sets the handle of this report item.
`void` | `setProperty(java.lang.String propName, java.lang.Object value)` Sets the value of a property.
`java.util.List<SemanticException>` | `validate()` Performs a semantic check on the report item.

Method Detail

### serialize

    java.io.ByteArrayOutputStream serialize(java.lang.String propName)

  Serializes the model given the property name. The property is visible to BIRT and its type is `XMLPropertyType`. The serialized data must be Unicode text. XML is preferred, but any text format is legal. If the model is binary, then one solution is to serialize the model as Base64 encoded data.

  Parameters:
    `propName` - the model property name to serialize
  Returns:
    a byte array that represents the serialized extended element model.

### deserialize

    void deserialize(java.lang.String propName,
                     java.io.ByteArrayInputStream data)
                     throws ExtendedElementException

  Deserializes the model. The property is visible to BIRT and its type is `XMLPropertyType`. The data provided will be that created by the `serialize` method. A well-written extension will handle two exceptional cases. First, it will handle all previous versions of this same extension. Second, it will handle erroneous input, perhaps created when a human editied the saved state by hand.

  Parameters:
    `propName` - the model property name to deserialize
    `data` - a byte array stream containing the serialized data
  Throws:
    `ExtendedElementException` - if the serialized model is invalid

### getPropertyDefinitions

    IPropertyDefinition[] getPropertyDefinitions()

  Gets the list of all the property definitions that the extended element model has.

  Returns:
    the dynamic property list of the extended element model

### getProperty

    java.lang.Object getProperty(java.lang.String propName)

  Returns the value of a public property. Returns null if the property is not defined. If the `IReportItemFactory` class defines a property, then this method must accept that property name.

  Property names can be separated with dots and can include array indexes. For example: barColors[1].pattern. This will occur if a property is defined as a list or structure.

  If the report element support styles or inheritance, then a return value of `null` means that the value should be inherited. BIRT will use its normal inheritance mechanisms to locate the value. If the extended element does not support inheritance or styles, then this method must return the value of each property, including defaults if the value has not yet been set.

  Parameters:
    `propName` - the name of the property to get
  Returns:
    the property value as one of the supported BIRT property types: String, Integer, Double, BigDecimal, etc.

### checkProperty

    void checkProperty(java.lang.String propName,
                       java.lang.Object value)
                       throws ExtendedElementException

  Checks the value of a property prior to setting it. BIRT calls this operation before setting the value. See the `setProperty` method for details on the process for setting a property value.

  Parameters:
    `propName` - the name of the property to check
    `value` - the new property value as one of the supported BIRT types
  Throws:
    `ExtendedElementException` - if the property value is invalid or the property name is invalid
  See Also:
    `getProperty(java.lang.String)`

### setProperty

    void setProperty(java.lang.String propName,
                     java.lang.Object value)

  Sets the value of a property. This operation is done in response to a BIRT-defined command. That is, this method call is the result of an application using the BIRT Model API to set a property. BIRT will have validated the property using the `checkProperty` method, and will have created a command to set the property.

  If this element supports styles or inheritance, then the value can be `null`, which means to clear the property value so that it will inherit from the base element or the style.

  Parameters:
    `propName` - the name of the property to set
    `value` - the new property value as one of the supported BIRT types
  See Also:
    `getProperty(java.lang.String)`, `checkProperty(java.lang.String, java.lang.Object)`

### validate

    java.util.List<SemanticException> validate()

  Performs a semantic check on the report item. The extended element can use this to validate the values of properties, to ensure that a set of values are consistent, etc.

  Returns:
    List List contains ExtendedElementException.

### copy

    IReportItem copy()

  Creates deep copy of the IReportItem and return the new element.

  Returns:
    the deep copied IReportItem

### refreshPropertyDefinition

    boolean refreshPropertyDefinition()

  Justifies whether the property list of the extended element is changed.

  Returns:
    true if the property list of the extended element is changed, otherwise false

### getMethods

    IPropertyDefinition[] getMethods()

  Deprecated. by `getMethods(String)`

  Returns the method definition list of extension elements. Each object in the list is instance of `IElementPropertyDefn`.

  Returns:
    the method definition list.

### getScriptPropertyDefinition

    IPropertyDefinition getScriptPropertyDefinition()

  Gets the script property definition of this report item.

  Returns:
    the script property definition of this report item

### getPredefinedStyles

    java.util.List<java.lang.Object> getPredefinedStyles()

  Gets list of the predefined styles. Each one in the list can be one of the following instance:

  - `String`
  - `IStyleDeclaration`

  Returns:

### getSimpleElement

    IReportItem getSimpleElement()

  Returns the interface for script operations. If the extension element want to provide multi row data function, need to extend simpleapi.IMultiRowItem and extension.MultiRowItem; If not, need to extend simpleapi.IReportItem and extension.SimpleRowItem.

  Returns:
    the simple interface

### getMethods

    IMethodInfo[] getMethods(java.lang.String methodName)

  Returns the method info list of extension elements. Each object in the list is instance of `IMethodInfo`.

  Parameters:
    `methodName` - the method name
  Returns:
    the method definition list.

### setHandle

    void setHandle(ExtendedItemHandle handle)

  Sets the handle of this report item.

  Parameters:
    `handle` - extended item handle

### canExport

    boolean canExport()

  Indicates whether the report item can be allowed to export to library.

  Returns:
    `true` if the report item can be allowed to export to library; `false` otherwise.

### availableBindings

    java.util.Iterator availableBindings()

  Gets the iterator of all available bindings.

  Returns:
    the iterator

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Actuate Corp. All rights reserved.