[
https://issues.apache.org/jira/browse/PDFBOX-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Hewson updated PDFBOX-2680:
--------------------------------
Description:
In PDFBOX-2580 Maruan mentioned that rendering and printing classes were
unusual in that they were not in the util package, which made me wonder if some
of the classes in util might be better of being in another package. Since the
command line utilities were moved into the tools package, util has become the
home of helper classes such as Matrix and Hex. However it's also home to some
classes which were related to the old command line tools and would now be
better off elsewhere:
- the 'text' package should contain PDFTextStripper, PDFTextStripperByArea, and
PDFMarkedContentExtractor. This would remove the cyclic dependency which
currently exists between 'text' and 'util'. Moving PDFTextStreamEngine to
'text' would also allow a cyclic dependency between 'contentstream' and 'util'
to be broken.
- likewise, a new 'multipdf' package could contain PageExtractor,
PDFCloneUtility, PDFMergerUtility, LayerUtility, Overlay, and Splitter. This
creates a proper home for classes which handle multiple PDFs and so are not a
part of PD and ensures a separation of concern between them and the helper util
classes.
This would give us a cleaner foundation for 2.0 moving forwards and reduce the
number of Sonar warnings regarding cyclic dependencies.
was:
In PDFBOX-2580 Maruan mentioned that rendering and printing classes were
unusual in that they were not in the util package, which made me wonder if some
of the classes in util might be better of being in another package. Since the
command line utilities were moved into the tools package, util has become the
home of helper classes such as Matrix and Hex. However it's also home to some
classes which were related to the old command line tools and would now be
better off elsewhere:
- the 'text' package should contain PDFTextStripper, PDFTextStripperByArea, and
PDFMarkedContentExtractor. This would remove the cyclic dependency which
currently exists between 'text' and 'util'. Moving PDFTextStreamEngine to
'text' would also allow a cyclic dependency between 'contentstream' and 'util'
to be broken.
- a new 'multipdf' package could contain PageExtractor, PDFCloneIUtility,
PDFMergerUtility, LayerUtility, Overlay, and splitter. This creates a proper
home for classes which handle multiple PDFs and so are not a part of PD and
ensures a separation of concern between them and the helper util classes.
This would give us a cleaner foundation for 2.0 moving forwards and reduce the
number of Sonar warnings regarding cyclic dependencies.
> Move multi-pdf classes from util into their own package
> -------------------------------------------------------
>
> Key: PDFBOX-2680
> URL: https://issues.apache.org/jira/browse/PDFBOX-2680
> Project: PDFBox
> Issue Type: Improvement
> Affects Versions: 2.0.0
> Reporter: John Hewson
> Priority: Minor
>
> In PDFBOX-2580 Maruan mentioned that rendering and printing classes were
> unusual in that they were not in the util package, which made me wonder if
> some of the classes in util might be better of being in another package.
> Since the command line utilities were moved into the tools package, util has
> become the home of helper classes such as Matrix and Hex. However it's also
> home to some classes which were related to the old command line tools and
> would now be better off elsewhere:
> - the 'text' package should contain PDFTextStripper, PDFTextStripperByArea,
> and PDFMarkedContentExtractor. This would remove the cyclic dependency which
> currently exists between 'text' and 'util'. Moving PDFTextStreamEngine to
> 'text' would also allow a cyclic dependency between 'contentstream' and
> 'util' to be broken.
> - likewise, a new 'multipdf' package could contain PageExtractor,
> PDFCloneUtility, PDFMergerUtility, LayerUtility, Overlay, and Splitter. This
> creates a proper home for classes which handle multiple PDFs and so are not a
> part of PD and ensures a separation of concern between them and the helper
> util classes.
> This would give us a cleaner foundation for 2.0 moving forwards and reduce
> the number of Sonar warnings regarding cyclic dependencies.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]