IMO, you can start with "addEntity" method, I am not too worried because the
consumers of this object typically are serializers, and not a public api where
a third party app will call and consume this. On client side API I completely
agree with your concern.
Ramesh..
----- Original Message -----
> Hi all,
>
>
>
>
>
> During work on olingo-832 I realized that the „getEntities“ method in the
> „org.apache.olingo.commons.api.data.EntityCollection“ return the list of
> entities directly (instead of an unmodifiable List).
>
> IMHO the best practice for List handling is to return only unmodifiable Lists
> and offer a method like „addEntity(e:Entity)“ for modification to ensure the
> encapsulation of the data (entities) within the collection object.
>
> As suggested modification the „getEntites“ should return a
> „Collections.unmodifiableList(entities);“ and the EntityCollection gets a
> new method „public void addEntity(Entity e) { entities.add(e); }“.
>
>
>
>
> I know it is a little bit late to change the API that way, especially because
> we used the „bad practice“ of „getEntities().add(..)“ a lot in the Oligo
> code and tutorial.
>
> Nevertheless I wanted to start a (short) discussion on the dev mailing list
> what do you think about this and if we should change the code or not.
>
>
>
>
> Kind regards,
>
> Michael
>
>
>
>
>
>
>