[
https://issues.apache.org/jira/browse/PDFBOX-4723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17191012#comment-17191012
]
Christian Appl commented on PDFBOX-4723:
----------------------------------------
Thank you very much and sorry for being so annoying.
I agree and admit defeat: There is nothing fundamentally wrong with overriding
equals and hashCode. And there are as many different implementations of Maps,
Lists and Tables as there are stars in the sky.
I backpaddle to: Overriding equals and hashCode is simply really risky and
should be avoided if possible, as it does affect methods and classes one might
not think of at first. But sure - you can do it and you also could define:
Class X must not be used in Collections expecting Y.
Agreed and accepted.
I simply would prefer, if at the end simple collections such as ArrayList could
still be used for something like:
collection.add(entry);
// Do something.
collection.remove(entry);
Without keeping track of possible state changes, that might have happened in
the meantime.
If a specific implementation of said collections would have to be used to reach
that - okay.
> Add equals() and hashCode() to PDAnnotation and COS objects
> -----------------------------------------------------------
>
> Key: PDFBOX-4723
> URL: https://issues.apache.org/jira/browse/PDFBOX-4723
> Project: PDFBox
> Issue Type: Sub-task
> Components: PDModel
> Affects Versions: 2.0.18
> Reporter: Maruan Sahyoun
> Assignee: Maruan Sahyoun
> Priority: Major
> Fix For: 3.0.0 PDFBox
>
> Attachments: bird_burst.heic.pdf, image-2020-09-02-13-52-21-370.png,
> image-2020-09-02-13-53-02-622.png, image-2020-09-02-13-54-31-630.png,
> screenshot-1.png
>
>
> In order to proper support removeAll/retainAll for COSArrayList we need to
> detect if entries are in fact duplicates of others. This currently fails as
> even though one might add the same instance of an annotation object multiple
> times to setAnnotations getting the annotations will have individual
> instances. See the discussion at PDFBOX-4669.
> In order to proper support removal we need to be able to detect equality
> where an object is equal if the underlying COSDictionary has the same entries.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]