[
https://issues.apache.org/jira/browse/PDFBOX-2261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14096143#comment-14096143
]
John Hewson commented on PDFBOX-2261:
-------------------------------------
[~msahyoun], I'm not sure that anyone was suggesting that PDField should
inherit from PDNonTerminalField, as you say that wouldn't be correct.
Here's what I had in mind: if we want to preserve the existing notion that a
PDField represents an actual field (i.e. a non-terminal field) then we could
use a class hierarchy like that below:
{code}
abstract class PDFieldTreeNode
class PDNonTerminalField extends PDFieldTreeNode
class PDField extends PDFieldTreeNode
{code}
And the following constructors:
{code}
protected PDFieldTreeNode()
protected PDFieldTreeNode(PDNonTerminalField parent)
public PDNonTerminalField()
public PDNonTerminalField(PDNonTerminalField parent)
public PDNonTerminalField()
public PDNonTerminalField(PDNonTerminalField parent)
{code}
The PDFieldTreeNode class would expose only the properties which can be
inherited. The PDNonTerminalField class would contain little code, and exist
mostly just to be a concrete implementation of PDFieldTreeNode. The PDField
class will contain just the code for those extra properties supported by
terminal fields. The field inheritance logic will be contained exclusively in
PDNonTerminalField, which will lookup the given key on it's "parent" when it
does not have the value locally.
> Extremely long hang during getFields() on a few PDF files
> ---------------------------------------------------------
>
> Key: PDFBOX-2261
> URL: https://issues.apache.org/jira/browse/PDFBOX-2261
> Project: PDFBox
> Issue Type: Bug
> Components: AcroForm
> Affects Versions: 1.8.6
> Reporter: Tim Allison
> Assignee: Andreas Lehmkühler
> Priority: Minor
> Fix For: 2.0.0
>
> Attachments: 966679.pdf, RadioButtons.pdf, screenshot-pdfdebugger.png
>
>
> When I run oap.examples.fdf.PrintFields from trunk, the code seems to hang
> during acroForm.getFields(). This is a heavy load hang.
--
This message was sent by Atlassian JIRA
(v6.2#6252)