Class IFContext

  • All Implemented Interfaces:
    PageIndexContext

    public class IFContext
    extends java.lang.Object
    implements PageIndexContext
    This class provides a context object that is valid for a single processing run to create an output file using the intermediate format. It allows access to the user agent and other context information, such as foreign attributes for certain elements in the intermediate format.

    Foreign attributes are usually specific to a particular output format implementation. Most implementations will just ignore all foreign attributes for most elements. That's why the main IF interfaces are not burdened with this.

    • Constructor Detail

      • IFContext

        public IFContext​(FOUserAgent ua)
        Main constructor.
        Parameters:
        ua - the user agent
    • Method Detail

      • setUserAgent

        public void setUserAgent​(FOUserAgent ua)
        Set the user agent.
        Parameters:
        ua - the user agent
      • getUserAgent

        public FOUserAgent getUserAgent()
        Returns the associated user agent.
        Returns:
        the user agent
      • getForeignAttributes

        public java.util.Map getForeignAttributes()
        Returns the currently applicable foreign attributes.
        Returns:
        a Map<QName, Object>
      • getForeignAttribute

        public java.lang.Object getForeignAttribute​(org.apache.xmlgraphics.util.QName qName)
        Returns a foreign attribute.
        Parameters:
        qName - the qualified name of the foreign attribute
        Returns:
        the value of the foreign attribute or null if the attribute isn't specified
      • setForeignAttributes

        public void setForeignAttributes​(java.util.Map foreignAttributes)
        Sets the currently applicable foreign attributes.
        Parameters:
        foreignAttributes - a Map<QName, Object> or null to reset
      • resetForeignAttributes

        public void resetForeignAttributes()
        Resets the foreign attributes to "no foreign attributes".
      • setLanguage

        public void setLanguage​(java.util.Locale lang)
        Sets the currently applicable language.
        Parameters:
        lang - the language
      • getLanguage

        public java.util.Locale getLanguage()
        Returns the currently applicable language.
        Returns:
        the language (or null if the language is undefined)
      • setStructureTreeElement

        public void setStructureTreeElement​(StructureTreeElement structureTreeElement)
        Sets the structure tree element to which the subsequently painted marks will correspond. This method is used when accessibility features are enabled.
        Parameters:
        structureTreeElement - the structure tree element
      • setLocation

        public void setLocation​(java.lang.String location)
        Sets the location of the object enclosing the current content. location the line and column location of the object in the source FO file
      • getLocation

        public java.lang.String getLocation()
        Returns the location of the object enclosing the current content.
        Returns:
        the line and column location of the object in the source FO file, null if that information is not available
      • setHyphenated

        public void setHyphenated​(boolean hyphenated)
        Records that the last text in the currently processed text area is hyphenated.
      • isHyphenated

        public boolean isHyphenated()
        Returns true if the last text in the currently processed text area is hyphenated.
      • setPageIndex

        public void setPageIndex​(int pageIndex)
        Record current page index.
        Parameters:
        pageIndex - a zero based page index or -1 (no page)
      • getPageIndex

        public int getPageIndex()
        Obtain current page index.
        Specified by:
        getPageIndex in interface PageIndexContext
        Returns:
        a zero based page index or -1 (no page)
      • getPageNumber

        public int getPageNumber()
      • setPageNumber

        public void setPageNumber​(int pageNumber)
      • getRegionType

        public java.lang.String getRegionType()
      • setRegionType

        public void setRegionType​(java.lang.String type)
      • setRegionType

        public void setRegionType​(int type)