Class DataSetHandle

  • All Implemented Interfaces:
    org.eclipse.birt.report.model.elements.interfaces.IDataSetModel, org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel, org.eclipse.birt.report.model.elements.interfaces.ISimpleDataSetModel
    Direct Known Subclasses:
    DerivedDataSetHandle, JointDataSetHandle, OdaDataSetHandle, ScriptDataSetHandle

    public abstract class DataSetHandle
    extends ReportElementHandle
    implements org.eclipse.birt.report.model.elements.interfaces.IDataSetModel, org.eclipse.birt.report.model.elements.interfaces.ISimpleDataSetModel
    Abstract handle for data set elements. A data set is a named object that provides a result set defined as a sequence of data rows. Report elements use data sets to retrieve data for display.

    A data set has three key parts:

    • Data access: Retrieving data from an external data source.
    • Report-specific properties: Properties for how the data is to be used in the report such as rules for searching, data export and so on.
    • Data transforms: Rules for processing the data for use by the report. Data transforms are most frequently defined by report items that use the data set, and are applied to the result set by BIRT.

    Data transforms that can be defined on a data set include:

    • Column projections: identifying additional required columns, assigning column aliases, and providing column meta-data.
    • Filters.
    • Computed columns. Sorting, grouping, aggregations and similar transforms are defined by the report elements that use the data set.

    The application can use scripts to execute code on certain data set events.

    To get a handle for the data source, uses the following example:

    
    
                            DataSetHandle dataHandle = designHandle
                          findDataSet( "My First Data Set " );
    
     

    This class works with the static design definition of the data set. Many clients will prefer to work with the TBD class that provides both the static definition and additional design information retrieved from the data provider. For example, a particular data set may not define a result set in the design file if the data provider can provide the result set definition itself. This handle will return null for the result set handle. However, the TBD class will provide the full result set: either by returning the one in the design file, or by obtaining it from the data provider.

    See Also:
    SimpleDataSet
    • Constructor Detail

      • DataSetHandle

        public DataSetHandle​(org.eclipse.birt.report.model.core.Module module,
                             org.eclipse.birt.report.model.core.DesignElement element)
        Constructs a data set handle with the given design and element. The application generally does not create handles directly. Instead, it uses one of the navigation methods available on other element handles.
        Parameters:
        module - the module
        element - the model representation of the element
    • Method Detail

      • getDataSource

        public DataSourceHandle getDataSource()
        Returns a handle to the data source for this data set.
        Returns:
        handle to the data source, or null if the data source is not set or is undefined.
      • getDataSourceName

        public java.lang.String getDataSourceName()
        Returns the name of the data source for this data set.
        Returns:
        the data source name as a string
        See Also:
        setDataSource(String)
      • setDataSource

        public void setDataSource​(java.lang.String name)
                           throws SemanticException
        Sets the name of the data source for this data set. This method checks whether the data source name exists in the report design.
        Parameters:
        name - the data source name
        Throws:
        SemanticException - if the data source does not exist in the report design, or the property if locked.
        See Also:
        getDataSource()
      • parametersIterator

        public java.util.Iterator parametersIterator()
        Returns an iterator over the list of output parameter definitions. The iterator returns instances of DataSetParameterHandle that represents parameter objects.
        Returns:
        iterator over output parameter definitions.
        See Also:
        DataSetParameter
      • paramBindingsIterator

        public java.util.Iterator paramBindingsIterator()
        Returns an iterator over the list of parameter bindings. The iterator returns instances of ParamBindingHandle that represents parameter binding object.
        Returns:
        iterator over parameter binding.
        See Also:
        ParamBinding
      • resultSetIterator

        public java.util.Iterator resultSetIterator()
        Returns an iterator over the result set columns. The iterator returns instances of ResultSetColumnHandle that represents result set column object.
        Returns:
        iterator over result set columns.
        See Also:
        ResultSetColumn
      • resultSetHintsIterator

        public java.util.Iterator resultSetHintsIterator()
        Returns an iterator over hints of the result set columns. The iterator returns instances of ResultSetColumnHandle that represents hints of result set column object.
        Returns:
        iterator over hints of result set columns.
        See Also:
        ResultSetColumn
      • computedColumnsIterator

        public java.util.Iterator computedColumnsIterator()
        Returns an iterator for the list of computed columns. The iterator returns instances of ComputedColumnHandle that represents computed column object.
        Returns:
        iterator over computed columns.
        See Also:
        ComputedColumn
      • columnHintsIterator

        public java.util.Iterator columnHintsIterator()
        Returns an iterator over column hints. The iterator returns instances of ColumnHintHandle that represents column hint object.
        Returns:
        iterator over column hints.
        See Also:
        ColumnHint
      • sortHintsIterator

        public java.util.Iterator<SortHintHandle> sortHintsIterator()
        Returns an iterator over sort hints. The iterator returns instances of SortHintHandle that represents sort hint object.
        Returns:
        iterator over sort hints.
        See Also:
        SortHint
      • filtersIterator

        public java.util.Iterator filtersIterator()
        Returns an iterator over filter. The iterator returns instances of FilterConditionHandle that represents filter condition object.
        Returns:
        iterator over filters.
        See Also:
        FilterCondition
      • getBeforeOpen

        public java.lang.String getBeforeOpen()
        Returns the code of the beforeOpen method. This is the script called just before opening this data set.
        Returns:
        the code of the method
      • setBeforeOpen

        public void setBeforeOpen​(java.lang.String code)
                           throws SemanticException
        Sets the code for the beforeOpen method. This is the script called just before opening this data set.
        Parameters:
        code - the code for the method
        Throws:
        SemanticException - If the method is locked.
      • getBeforeClose

        public java.lang.String getBeforeClose()
        Returns the code of the beforeClose method. This is the script called just before closing this data set.
        Returns:
        the code of the method
      • setBeforeClose

        public void setBeforeClose​(java.lang.String code)
                            throws SemanticException
        Sets the code for the beforeClose method. This is the script called just before closing this data set.
        Parameters:
        code - the code for the method
        Throws:
        SemanticException - If the method is locked.
      • getAfterOpen

        public java.lang.String getAfterOpen()
        Returns the code of the afterOpen method. This is the script called just after opening this data set.
        Returns:
        the code of the method
      • setAfterOpen

        public void setAfterOpen​(java.lang.String code)
                          throws SemanticException
        Sets the code for the afterOpen method. This is the script called just after opening this data set.
        Parameters:
        code - the code for the method
        Throws:
        SemanticException - If the method is locked.
      • getAfterClose

        public java.lang.String getAfterClose()
        Returns the code of the afterClose method. This is the script called just after closing this data set.
        Returns:
        the code of the method
      • setAfterClose

        public void setAfterClose​(java.lang.String code)
                           throws SemanticException
        Sets the code for the afterClose method. This is the script called just after closing this data set.
        Parameters:
        code - the code for the method
        Throws:
        SemanticException - If the method is locked.
      • getOnFetch

        public java.lang.String getOnFetch()
        Returns the code of the onFetch method. This is the script called just after fetching each row.
        Returns:
        the code of the method
      • setOnFetch

        public void setOnFetch​(java.lang.String code)
                        throws SemanticException
        Sets the code for the onFetch method. This is the script called just after fetching each row.
        Parameters:
        code - the code for the method
        Throws:
        SemanticException - If the method is locked.
      • getCachedMetaDataHandle

        public CachedMetaDataHandle getCachedMetaDataHandle()
        Return a handle to deal with the cached data set information that include output column information when it gets from databases, input/output parameter definitions.
        Returns:
        a CachedMetaDataHandle to deal with the cached data set information, return null if the property has not been set.
      • setCachedMetaData

        public CachedMetaDataHandle setCachedMetaData​(CachedMetaData metadata)
                                               throws SemanticException
        Set the value for the cached data set information.
        Parameters:
        metadata - a structure value include output column information , input/output parameter definitions.
        Returns:
        CachedMetaDataHandle to the input metadata, return null if metadata is null.
        Throws:
        SemanticException - the input data is not valid.
      • getPropertyHandle

        public PropertyHandle getPropertyHandle​(java.lang.String propName)
        Description copied from class: DesignElementHandle
        Returns a property handle for a top-level property. A top-level property is a property that defines on an element.
        Overrides:
        getPropertyHandle in class DesignElementHandle
        Parameters:
        propName - the name of the property to get
        Returns:
        The property handle, or null if the no property exists with the given name.
        See Also:
        PropertyHandle
      • setDataSetRowLimit

        @Deprecated
        public void setDataSetRowLimit​(int count)
                                throws SemanticException
        Deprecated.
        duplicate with method setRowFetchLimit()
        Sets data set row limit property value.
        Parameters:
        count -
        Throws:
        SemanticException
      • getDataSetRowLimit

        @Deprecated
        public int getDataSetRowLimit()
        Deprecated.
        duplicate with method getRowFetchLimit()
        Returns value of data set row limit property.
        Returns:
        the value of data set row limit property.
      • setCachedRowCount

        @Deprecated
        public void setCachedRowCount​(int count)
                               throws SemanticException
        Deprecated.
        by setDataSetRowLimit method
        sets the cached row count property value.
        Parameters:
        count - the cached row count
        Throws:
        SemanticException
      • getCachedRowCount

        @Deprecated
        public int getCachedRowCount()
        Deprecated.
        by getDataSetRowLimit method
        Returns the value of cached row count property.
        Returns:
        the row count.
      • setRowFetchLimit

        public void setRowFetchLimit​(int count)
                              throws SemanticException
        Sets the max number of rows from data set property value.
        Parameters:
        count - the row number to fetch from result set
        Throws:
        SemanticException
      • getRowFetchLimit

        public int getRowFetchLimit()
        Returns the max number of rows from data set property value.
        Returns:
        the max number of rows that can be fetched from data set.
      • removeFilter

        public void removeFilter​(FilterCondition fc)
                          throws SemanticException
        Removes the filter condition.
        Parameters:
        fc - the filter condition structure
        Throws:
        SemanticException - if the given condition doesn't exist in the filters
      • setNeedsCache

        public void setNeedsCache​(boolean needsCache)
                           throws SemanticException
        Sets whether to do some cache when rendering the report.
        Parameters:
        needsCache - true if needs do caching when rendering the report, otherwise false
        Throws:
        SemanticException
      • needsCache

        public boolean needsCache()
        Determines whether to do some cache when rendering the report.
        Returns:
        true if needs do caching when rendering the report, otherwise false
      • getACLExpression

        public ExpressionHandle getACLExpression()
        Gets the expression handle for the ACLExpression property.
        Returns:
      • getRowACLExpression

        public ExpressionHandle getRowACLExpression()
        Gets the expression handle for the ACL expression for one row.
        Returns:
      • isVisible

        public boolean isVisible()
        Gets the isVisible property value.
        Returns:
        if that data set is visible outside of the datamart, otherwise return .
      • setIsVisible

        public void setIsVisible​(boolean isVisible)
                          throws SemanticException
        Sets the isVisible property value.
        Parameters:
        isVisible - if that data set is visible outside of the datamart, otherwise return .
        Throws:
        SemanticException
      • getLocale

        public com.ibm.icu.util.ULocale getLocale()
        Gets the locale of this data set element.
        Returns:
        the locale of this data set
        See Also:
        setLocale(ULocale)
      • setLocale

        public void setLocale​(com.ibm.icu.util.ULocale locale)
                       throws SemanticException
        Sets the locale for this data set element.
        Parameters:
        locale - the locale to data set
        Throws:
        SemanticException
        See Also:
        getLocale()
      • getNullsOrdering

        public java.lang.String getNullsOrdering()
        Gets the ordering of null values. Its value must be one of the following:
        • NULLS_ORDERING_NULLS_LOWEST
        • NULLS_ORDERING_NULLS_HIGHEST
        • NULLS_ORDERING_EXCLUDE_NULLS
        Returns:
        ordering of null values.
      • setNullsOrdering

        public void setNullsOrdering​(java.lang.String nullsOrdering)
                              throws SemanticException
        Sets the ordering of null values. Its value must be one of the following:
        • NULLS_ORDERING_NULLS_LOWEST
        • NULLS_ORDERING_NULLS_HIGHEST
        • NULLS_ORDERING_EXCLUDE_NULLS
        Parameters:
        nullsOrdering -
        Throws:
        SemanticException