Hi Stuart, Have you considered fixing this method to return a unmodifiable set and make this spec in JDK 9? It’s a small change.
Mandy > On May 25, 2016, at 4:11 PM, Stuart Marks <stuart.ma...@oracle.com> wrote: > > Hi all, > > Please review this small spec change. Properties.stringPropertyNames() seems > to imply that the Set it returns is modifiable. It is, but only partially. > Since it's a keySet() from a Hashtable, it supports removal but not addition. > This change removes the implication that the returned set is fully modifiable. > > Bug report: > > https://bugs.openjdk.java.net/browse/JDK-8059361 > > Diffs below. > > Thanks, > > s'marks > > > > diff -r 4d9388b1ae27 src/java.base/share/classes/java/util/Properties.java > --- a/src/java.base/share/classes/java/util/Properties.java Wed May 25 > 13:38:35 2016 -0700 > +++ b/src/java.base/share/classes/java/util/Properties.java Wed May 25 > 16:09:22 2016 -0700 > @@ -1044,9 +1044,10 @@ > * properties list. Properties whose key or value is not > * of type {@code String} are omitted. > * <p> > - * The returned set is not backed by the {@code Properties} object. > - * Changes to this {@code Properties} are not reflected in the set, > - * or vice versa. > + * The returned set is not backed by this {@code Properties} object. > + * Changes to this {@code Properties} object are not reflected in the > + * returned set. Any modifications that might be allowed on the > + * returned set are not reflected in this Properties object. > * > * @return a set of keys in this property list where > * the key and its corresponding value are strings,