Class Importer.ImporterTask

  • All Implemented Interfaces:
    Enclosing class:

    public abstract class Importer.ImporterTask
    extends LongRunningTask
    implements DocumentPanelListener
    This class is a LongRunningTask that can be run to load a PDF into the viewer. Subclasses of Importer need to implement a concrete subclass of this which implemented the loadPDF() method. By default this task is cancellable, but that may be overridden too.

    This code is copyright the Big Faceless Organization. You're welcome to use, modify and distribute it in any form in your own projects, provided those projects continue to make use of the Big Faceless PDF library.

    • Field Detail

      • viewer

        protected final PDFViewer viewer
        The viewer passed to the constructor
      • file

        protected final File file
        The file passed to the constructor
      • in

        protected final InputStream in
        The InputStream passed to the constructor
      • title

        protected String title
        The title passed to the constructor
      • pagenumber

        protected int pagenumber
        The initial pagenumber to request
    • Constructor Detail

      • ImporterTask

        protected ImporterTask​(PDFViewer viewer,
                               InputStream in,
                               String title,
                               File file)
        Create a new ImporterTask which will read it's input from a File (if in is null) or from an InputStream.
        viewer - the Viewer this task is going to add the PDF to
        in - the InputStream to read the PDF from, or null to read the PDF from the file parameter
        title - the title of the PDF - may be null
        file - If in is null, the File to read the PDF from (may not be null). If in is not null, the file that is used as the default when this PDF is save, in which case it may be null.
    • Method Detail

      • isCancellable

        public boolean isCancellable()
        Description copied from class: LongRunningTask
        Return true if this task can be cancelled before completion by the user.
        isCancellable in class LongRunningTask
      • setPageNumber

        public void setPageNumber​(int pagenumber)
        Set the initial pagenumber to display. This may be overridden by a PDF openaction or if it is out of range
      • setFile

        public void setFile​(File file)
        Set the default file to save the file to if the PDF is later saved. For PDFs loaded from a File, this defaults to the same file. If the specified File does not have an absolute path, the directory it will be resolved against is undefined. The Save feature will try to resolve it against the last directory used by the user
        file - If the PDF is later saved, the file to initialize the path to. Should be an absolute file if one is required, and may also be null.
      • setTitle

        public void setTitle​(String title)
        Set the title which is displayed in the window decoration of the imported file.
      • loadPDF

        public abstract PDF loadPDF()
                             throws IOException
        Load and return a PDF. Subclasses must implement this method, loading the PDF from the InputStream in if it's specified of the File file if it's not
        the PDF
      • addToMostRecent

        public boolean addToMostRecent()
        Return true if the file should be added to the "Most Recent" list of files, false otherwise. The default is true
      • documentUpdated

        public void documentUpdated​(DocumentPanelEvent event)
        This event listener will be called when the PDF has been imported. By default it does nothing, but can be overriden in subclasses.
        Specified by:
        documentUpdated in interface DocumentPanelListener