Class ReportItem

  • All Implemented Interfaces:
    java.lang.Cloneable, ICompatibleReportItem, IReportItem

    public class ReportItem
    extends java.lang.Object
    implements IReportItem, ICompatibleReportItem, java.lang.Cloneable
    Extension adapter class for the IReportItem. By default, the report item will have no model. Therefore, it has no model properties and all the related method will do nothing or return null.
    • Constructor Detail

      • ReportItem

        public ReportItem()
    • Method Detail

      • serialize

        public java.io.ByteArrayOutputStream serialize​(java.lang.String propName)
        Description copied from interface: IReportItem
        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.
        Specified by:
        serialize in interface IReportItem
        Parameters:
        propName - the model property name to serialize
        Returns:
        a byte array that represents the serialized extended element model.
      • deserialize

        public void deserialize​(java.lang.String propName,
                                java.io.ByteArrayInputStream data)
                         throws ExtendedElementException
        Description copied from interface: IReportItem
        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.
        Specified by:
        deserialize in interface IReportItem
        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

        public IPropertyDefinition[] getPropertyDefinitions()
        Description copied from interface: IReportItem
        Gets the list of all the property definitions that the extended element model has.
        Specified by:
        getPropertyDefinitions in interface IReportItem
        Returns:
        the dynamic property list of the extended element model
      • getProperty

        public java.lang.Object getProperty​(java.lang.String propName)
        Description copied from interface: IReportItem
        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.

        Specified by:
        getProperty in interface IReportItem
        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

        public void checkProperty​(java.lang.String propName,
                                  java.lang.Object value)
                           throws ExtendedElementException
        Description copied from interface: IReportItem
        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.
        Specified by:
        checkProperty in interface IReportItem
        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:
        IReportItem.getProperty(java.lang.String)
      • setProperty

        public void setProperty​(java.lang.String propName,
                                java.lang.Object value)
        Description copied from interface: IReportItem
        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.

        Specified by:
        setProperty in interface IReportItem
        Parameters:
        propName - the name of the property to set
        value - the new property value as one of the supported BIRT types
        See Also:
        IReportItem.getProperty(java.lang.String), IReportItem.checkProperty(java.lang.String, java.lang.Object)
      • validate

        public java.util.List<SemanticException> validate()
        Description copied from interface: IReportItem
        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.
        Specified by:
        validate in interface IReportItem
        Returns:
        List List contains ExtendedElementException.
      • copy

        public IReportItem copy()
        Description copied from interface: IReportItem
        Creates deep copy of the IReportItem and return the new element.
        Specified by:
        copy in interface IReportItem
        Returns:
        the deep copied IReportItem
      • refreshPropertyDefinition

        public boolean refreshPropertyDefinition()
        Description copied from interface: IReportItem
        Justifies whether the property list of the extended element is changed.
        Specified by:
        refreshPropertyDefinition in interface IReportItem
        Returns:
        true if the property list of the extended element is changed, otherwise false
      • getSimpleElement

        public IReportItem getSimpleElement()
        Description copied from interface: IReportItem
        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.
        Specified by:
        getSimpleElement in interface IReportItem
        Returns:
        the simple interface
      • getPredefinedStyles

        public java.util.List getPredefinedStyles()
        Description copied from interface: IReportItem
        Gets list of the predefined styles. Each one in the list can be one of the following instance:

      • String
      • IStyleDeclaration
Specified by:
getPredefinedStyles in interface IReportItem
Returns: