Author: tn
Date: Mon Feb 11 19:52:22 2013
New Revision: 1444940

URL: http://svn.apache.org/r1444940
Log:
[CLI-230] Options.getRequiredOptions returns now an unmodifiable list.

Modified:
    commons/proper/cli/trunk/src/changes/changes.xml
    commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java
    commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Options.java

Modified: commons/proper/cli/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/changes/changes.xml?rev=1444940&r1=1444939&r2=1444940&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/changes/changes.xml (original)
+++ commons/proper/cli/trunk/src/changes/changes.xml Mon Feb 11 19:52:22 2013
@@ -23,6 +23,9 @@
   <body>
     
     <release version="1.3" date="in SVN">
+      <action type="fix" dev="tn" issue="CLI-230">
+        Options.getRequiredOptions() now returns an unmodifiable list.
+      </action>
       <action type="add" dev="tn" issue="CLI-224" due-to="Duncan Jones, Brian 
Blount">
         Added new fluent API to create Option instances via builder class 
Option.Builder.
         This replaces the now deprecated OptionBuilder.

Modified: 
commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java
URL: 
http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java?rev=1444940&r1=1444939&r2=1444940&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java 
(original)
+++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java 
Mon Feb 11 19:52:22 2013
@@ -27,8 +27,11 @@ import java.util.List;
  * if any exists, a flag indicating if an argument is required for
  * this option, and a self-documenting description of the option.
  * <p>
- * An Option is not created independently, but is create through
+ * An Option is not created independently, but is created through
  * an instance of {@link Options}.
+ * <p>
+ * <b>Note:</b> once an {@link Option} has been added to an instance
+ * of {@link Options}, it's required flag may not be changed anymore.
  *
  * @see org.apache.commons.cli.Options
  * @see org.apache.commons.cli.CommandLine

Modified: 
commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Options.java
URL: 
http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Options.java?rev=1444940&r1=1444939&r2=1444940&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Options.java 
(original)
+++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Options.java 
Mon Feb 11 19:52:22 2013
@@ -197,11 +197,11 @@ public class Options implements Serializ
     /**
      * Returns the required options.
      *
-     * @return List of required options
+     * @return read-only List of required options
      */
     public List getRequiredOptions()
     {
-        return requiredOpts;
+        return Collections.unmodifiableList(requiredOpts);
     }
 
     /**


Reply via email to