[ 
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]

Reply via email to