[ 
https://issues.apache.org/jira/browse/PDFBOX-2580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14316907#comment-14316907
 ] 

John Hewson edited comment on PDFBOX-2580 at 2/11/15 8:22 PM:
--------------------------------------------------------------

Ok, well what are the main areas and what are we trying to address? Perhaps we 
should open a new JIRA issue which specifies this clearly?

In 1.8 util  became a dumping ground for unrelated functionality which was 
usually tightly coupled to some other part of pdfbox, many of those classes now 
reside elsewhere. As for PDFPrinter and PDFReader these classes don't belong in 
PD because they don't represent part of a pdf file which can be manipulated, 
instead they transcend the entire PD model, i.e. they depend on PD but are not 
a part of it. They also have many of their own package-private helper classes 
which should not be shared with PD (as PD should not depend on rendering). 
Because rendering depends on PD but PD does not depend on rendering, keeping 
them seperate gives us a clear separation of concerns and a well-formed package 
structure without any cyclic dependencies.

What could possibly be done in the future is to move rendering and printing out 
into their own module so that they are in a seperate jar, so that pdfbox core 
would no longer depend on AWT - however that won't actually achieve anything 
because PD (and thus core) has many dependencies on AWT beyond printing and 
rendering  i.e. PD is tightly coupled to AWT an that is the real problem and is 
much more complex and difficult to solve.


was (Author: jahewson):
Ok, well what are the main areas and what are we trying to address? Perhaps we 
should open a new JIRA issue which specifies this clearly?

In 1.8 util  became a dumping ground for unrelated functionality which was 
usually tightly coupled to some other part of pdfbox, many of those classes now 
reside elsewhere. As for PDFPrinter and PDFReader these classes don't belong in 
PD because they don't represent part of a pdf file which can be manipulated, 
instead they transcend the entire PD model, i.e. they depend on PD but are not 
a part of it. They also have many of their own package-private helper classes 
which should not be shared with PD (as PD should not depend on rendering). 
Because rendering depends on PD but PD does not depend on rendering, keeping 
them seperate gives us a clear separation of concerns and a well-formed package 
structure without any cyclic dependencies.

What could possibly be done in the future is to move rendering and printing out 
into their own module so that they are in a seperate jar, so that PD would no 
longer depend on AWT - however that won't actually achieve anything because PD 
has many dependencies on AWT beyond printing and rendering  i.e. PD is tightly 
coupled to AWT an that is the real problem and is much more complex and 
difficult to solve.

> Decouple implementation specific forms handling from interactive.form PD Model
> ------------------------------------------------------------------------------
>
>                 Key: PDFBOX-2580
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2580
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: AcroForm
>            Reporter: Maruan Sahyoun
>            Assignee: Maruan Sahyoun
>             Fix For: 2.0.0
>
>         Attachments: sonar.png
>
>
> The interactive.form PD model currently holds classes reflecting the various 
> fields intermixed with appearance generation and layout handling.
> In order to separate the PD model from the service of forms filling and 
> appearance generation this functionality shall be moved into a new package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to