commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ranjan George (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (COLLECTIONS-697) JavaDoc for FixedSizeList should warn modifying the underlying list is still allowed and is not prevented
Date Tue, 02 Oct 2018 17:37:00 GMT

     [ https://issues.apache.org/jira/browse/COLLECTIONS-697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ranjan George updated COLLECTIONS-697:
--------------------------------------
    Description: 
I just noticed that it is not explicitly mentioned in the JavaDoc that modifying the underlying
list of a FixedSizeList would actually land up modifying the list of the constructed FixedSizeList.
 Not sure if this was by design, but at the very list I think the JavaDoc should caution against
this.

Following is a test case that written that you could use to check this.

{code:java}

public void testAllowsMutationOfUnderlyingCollection() {

 List<String> decoratedList = new ArrayList<>();
 decoratedList.add("item 1");
 decoratedList.add("item 2");
 //
 FixedSizeList<String> fixedSizeList = FixedSizeList.fixedSizeList(decoratedList);
 int sizeBefore = fixedSizeList.size();
 //
 boolean changed = decoratedList.add("New Value");
 Assert.assertTrue(changed);
 //
 Assert.assertEquals("Modifying an the underlying list is allowed", sizeBefore + 1, fixedSizeList.size());
}

{code}

  was:

I just noticed that it is not explicitly mentioned in the JavaDoc that modifying the underlying
list of a FixedSizeList would actually land up modifying the list of the constructed FixedSizeList.
 Not sure if this was by design, but at the very list I think the JavaDoc should caution against
this.

Following is a test case that written that you could use to check this.

{code:java}

public void testAllowsMutationOfUnderlyingCollection() {

 List<String> decoratedList = new ArrayList<>();
 decoratedList.add("item 1");
 decoratedList.add("item 2");
 //
 FixedSizeList<String> fixedSizeList = FixedSizeList.fixedSizeList(decoratedList);
 int sizeBefore = fixedSizeList.size();
 //
 boolean changed = decoratedList.add("New Value");
 Assert.assertTrue(changed);
 //
 Assert.assertEquals("Modifying an the underlying list is allowed",
 sizeBefore + 1, fixedSizeList.size());
}

{code}


> JavaDoc for FixedSizeList should warn modifying the underlying list is still allowed
and is not prevented
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: COLLECTIONS-697
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-697
>             Project: Commons Collections
>          Issue Type: Bug
>            Reporter: Ranjan George
>            Priority: Major
>
> I just noticed that it is not explicitly mentioned in the JavaDoc that modifying the
underlying list of a FixedSizeList would actually land up modifying the list of the constructed
FixedSizeList.  Not sure if this was by design, but at the very list I think the JavaDoc should
caution against this.
> Following is a test case that written that you could use to check this.
> {code:java}
> public void testAllowsMutationOfUnderlyingCollection() {
>  List<String> decoratedList = new ArrayList<>();
>  decoratedList.add("item 1");
>  decoratedList.add("item 2");
>  //
>  FixedSizeList<String> fixedSizeList = FixedSizeList.fixedSizeList(decoratedList);
>  int sizeBefore = fixedSizeList.size();
>  //
>  boolean changed = decoratedList.add("New Value");
>  Assert.assertTrue(changed);
>  //
>  Assert.assertEquals("Modifying an the underlying list is allowed", sizeBefore + 1, fixedSizeList.size());
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message