Class Subreport

    • Method Detail

      • copy

        public java.lang.Object copy()
                              throws ReportException
        Creates a serializable copy of this Element. The returned Object is not an instance of Element. This method is used from i-net Designer for Copy and Paste.
        Overrides:
        copy in class Element
        Returns:
        A serializable Object.
        Throws:
        ReportException - If accessing properties of this Element causes any errors.
        See Also:
        Section.pasteElement(java.lang.Object)
      • getEngine

        public Engine getEngine()
        Returns the engine object belonging to this subreport. This is different to the super method of Element. Will return null if this subreport no longer belongs to a main report.
        Overrides:
        getEngine in class Element
        Returns:
        Engine The engine of the subreport.
        Since:
        6.0
        See Also:
        Engine, Element.getEngine()
      • addSubreportLink

        public SubreportLink addSubreportLink​(Field mainRptField,
                                              Field subRptField)
                                       throws ReportException
        Adds a new subreport link to the set and returns it.
        Parameters:
        mainRptField - The Field in the main report whose values will be used for the PromptField in the subreport.
        subRptField - The Field in the subreport whose values will be used to compare with the values of the PromptField.
        Returns:
        The created SubreportLink object.
        Throws:
        ReportException - If an error occurred while creating the sub report link.
        Since:
        6.0
      • addSubreportLink

        public SubreportLink addSubreportLink​(Field mainRptField,
                                              Field subRptField,
                                              boolean generatePrompt)
                                       throws ReportException
        Adds a new subreport link to the set and returns it.
        Parameters:
        mainRptField - The Field in the main report whose values will be used for the PromptField in the subreport.
        subRptField - The Field in the subreport whose values will be used to compare with the values of the PromptField.
        generatePrompt - If true a PromptField which is used for this link is generated automatically. If set to false a PromptField has to be set with SubreportLink.setPromptField(PromptField).
        Returns:
        The created SubreportLink object.
        Throws:
        ReportException - If an error occurred while creating the sub report link.
        Since:
        6.0
      • removeSubreportLink

        public void removeSubreportLink​(int idx)
        Removes the subreport link at the specified index.
        Parameters:
        idx - The 0-based index of the SubreportLink object that should be removed.
        Since:
        6.0
        See Also:
        getSubreportLinkCount()
      • getSubreportLink

        public SubreportLink getSubreportLink​(int idx)
        Gets the subreport link at the specified index.
        Parameters:
        idx - The 0-based index of the subreport that should be returned.
        Returns:
        The SubreportLink object at the specified position.
        Since:
        6.0
        See Also:
        getSubreportLinkCount()
      • getSubreportLinkCount

        public int getSubreportLinkCount()
        Returns the number of subreport links in the set
        Returns:
        The number of subreport links.
        Since:
        6.0
      • setOnDemand

        public void setOnDemand​(boolean onDemand)
        Specifies whether on demand is enabled or not.
        Specified by:
        setOnDemand in interface SubreportProperties
        Parameters:
        onDemand - when true on demand is enabled
      • isOnDemand

        public boolean isOnDemand()
        Returns true if on demand is enabled else false.
        Specified by:
        isOnDemand in interface SubreportProperties
        Returns:
        whether on demand is enabled
        Since:
        7.0
      • setOnDemandLinkLabel

        public void setOnDemandLinkLabel​(java.lang.String lab)
        If on demand is enabled, the element is shown in the report as a line of text. Specify this text with this method.
        Specified by:
        setOnDemandLinkLabel in interface SubreportProperties
        Parameters:
        lab - - the text as String
      • setOnDemandLinkLabel

        public void setOnDemandLinkLabel​(FormulaField lab)
        If on demand is enabled, the element is shown in the report as a line of text. Specify this text with this method.
        Specified by:
        setOnDemandLinkLabel in interface SubreportProperties
        Parameters:
        lab - - a FormulaField whose return value specifies the text.
      • getOnDemandLinkLabel

        public FormulaField getOnDemandLinkLabel()
        Returns a FormulaField whose return value specifies the text that is shown instead of the element content when on demand is enabled.
        Specified by:
        getOnDemandLinkLabel in interface SubreportProperties
        Returns:
        FormulaField
      • setOnDemandTabLabel

        public void setOnDemandTabLabel​(java.lang.String lab)
        If on demand is enabled and the element is activated, it is shown in an extra tab or window. Specify the name of this tab with this method.
        Specified by:
        setOnDemandTabLabel in interface SubreportProperties
        Parameters:
        lab - - the name as String
      • setOnDemandTabLabel

        public void setOnDemandTabLabel​(FormulaField lab)
        If on demand is enabled and the element is activated, it is shown in an extra tab or window. Specify the name of this tab with this method.
        Specified by:
        setOnDemandTabLabel in interface SubreportProperties
        Parameters:
        lab - - a FormulaField whose return value specifies the name.
      • getOnDemandTabLabel

        public FormulaField getOnDemandTabLabel()
        Returns a FormulaField whose return value specifies the name of the tab which is showing the activated element if on demand is enabled.
        Specified by:
        getOnDemandTabLabel in interface SubreportProperties
        Returns:
        FormulaField
      • setReferences

        public final void setReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        setReferences in interface com.inet.report.ReferenceHolder
        Overrides:
        setReferences in class Element
      • resetReferences

        public final void resetReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        resetReferences in interface com.inet.report.ReferenceHolder
        Overrides:
        resetReferences in class ReportComponent
      • setGlyphOrientationFormula

        public void setGlyphOrientationFormula​(FormulaField formula)
        Sets the formula whose return value determines the glyph orientation. This is the rotation of every individual character in each line. This formula should return one of the formula constants GlyphDefault, GlyphLeft, GlyphRight, or GlyphDown.
        Specified by:
        setGlyphOrientationFormula in interface TextProperties
        Parameters:
        formula - the formula whose return value determines the glyph orientation
      • getGlyphOrientationFormula

        public FormulaField getGlyphOrientationFormula()
        Returns the formula whose return value determines the glyph orientation. This is the rotation of every individual character in each line. This formula should return one of the formula constants GlyphDefault, GlyphLeft, GlyphRight, or GlyphDown.
        Specified by:
        getGlyphOrientationFormula in interface TextProperties
        Returns:
        the formula whose return value determines the glyph orientation
      • setTextRotation

        public void setTextRotation​(int rotation)
        Sets the value of the property 'text rotation'. This property defines a final rotation of the entire element after the text is laid out. For example, to have a text element have vertical text running from top to bottom and each line run from right to left, you'd set a glyph orientation of GLYPH_LEFT and a text rotation of ROTATE_270.
        Specified by:
        setTextRotation in interface TextProperties
        Parameters:
        rotation - The new value of the property 'text rotation'. Rotation is done counter-clockwise.
        Since:
        5.4
        See Also:
        TextProperties.ROTATE_0, TextProperties.ROTATE_90, TextProperties.ROTATE_180, TextProperties.ROTATE_270
      • setTextRotationFormula

        public void setTextRotationFormula​(FormulaField formula)
        Sets the formula whose return value determines the property 'text rotation'. This property defines a final rotation of the entire element after the text is laid out. This formula should return one of the formula constants Rotate0, Rotate90, Rotate180, or Rotate270.
        Specified by:
        setTextRotationFormula in interface TextProperties
        Parameters:
        formula - formula whose return value determines the property 'text rotation'.
        See Also:
        TextProperties.getTextRotation(), TextProperties.setTextRotation(int)
      • parseElement

        public NodeParser parseElement​(com.inet.report.parser.XMLTag group,
                                       java.lang.String tag,
                                       org.xml.sax.Attributes atts,
                                       java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                                throws FatalParserException
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        Parses an XML node with the given information, and returns either a sub-element which was created as a result, or null if no sub-element was created, i.e. the information was applied to the ReportComponent itself. Note that the parsing is highly tolerant, i.e. exceptions are intercepted and suppressed if at all possible.

        Specified by:
        parseElement in interface NodeParser
        Overrides:
        parseElement in class AbstractFontElement
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group. An XMLTag is a group of nodes bundled together, usually it is a Properties node such as CommonProperties, BorderProperties, etc.
        tag - The XMLTag to be parsed
        atts - The set of attributes in the current XMLTag
        parserMap - The map of current Parser.
        Returns:
        The NodeParser sub-element if one needed to be created, or null if none was created.
        Throws:
        FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
      • parseText

        public void parseText​(java.lang.String textData,
                              java.util.Map<java.lang.String,​java.lang.Object> parserMap)
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        This method is called if text was encountered in the context of this node. (Examples would be a formula's text or a text element's text)

        Specified by:
        parseText in interface NodeParser
        Overrides:
        parseText in class Element
        Parameters:
        textData - text encountered and to be stored
        parserMap - The map of current Parser.
      • parseEndElement

        public void parseEndElement​(com.inet.report.parser.XMLTag group,
                                    java.lang.String tag,
                                    java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                             throws FatalParserException
        FOR INTERNAL USE ONLY Internal method for reading report XML

        Receive notification of the end of an XML tag.

        Specified by:
        parseEndElement in interface NodeParser
        Overrides:
        parseEndElement in class ReportComponent
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group.
        tag - The XMLTag to be parsed
        parserMap - The map of current Parser.
        Throws:
        FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
      • getSubComponents

        public java.util.List<? extends ReportComponent> getSubComponents()
        Returns all ReportComponents that are descendants of this one. E.G. this will return all Element of a Section. But it's as well useful for CrossTabs or Text elements which have additional elements. NOTE: This does not return any ReportComponent of the sub-engine!
        Specified by:
        getSubComponents in class ReportComponent
        Returns:
        a list with all sub components which can be empty as well; will be null if the component has no descendants