You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ro...@apache.org on 2004/01/29 23:05:04 UTC

cvs commit: jakarta-commons/cli/src/java/org/apache/commons/cli2 Option.java CommandLine.java Command.java ArgumentImpl.java GroupImpl.java DefaultOption.java ParentImpl.java PropertyOption.java Comparators.java Switch.java

roxspring    2004/01/29 14:05:04

  Modified:    cli/src/test/org/apache/commons/cli2 Tag:
                        RESEARCH_CLI_2_ROXSPRING GroupTest.java
                        ParentTest.java ArgumentTest.java SwitchTest.java
                        PropertyOptionTest.java CommandTest.java
                        DefaultOptionTest.java
               cli/src/java/org/apache/commons/cli2 Tag:
                        RESEARCH_CLI_2_ROXSPRING Option.java
                        CommandLine.java Command.java ArgumentImpl.java
                        GroupImpl.java DefaultOption.java ParentImpl.java
                        PropertyOption.java Comparators.java Switch.java
  Log:
  Refactored Option naming bean-like methods in a bean-like manor
  prefixes() operation is now getPrefixes() accessor
  triggers() operation is now getTriggers() accessor
  
  Improved option Impl integrity by wrapping internal collections using Collections.unmodifiableX(X)
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/GroupTest.java
  
  Index: GroupTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/GroupTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- GroupTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ GroupTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -184,7 +184,7 @@
   	 */
   	public void testPrefixes() {
   		final Group option = buildApachectlGroup();
  -		assertContentsEqual(list("-", "--"), option.prefixes());
  +		assertContentsEqual(list("-", "--"), option.getPrefixes());
   	}
   
   	/* (non-Javadoc)
  @@ -230,7 +230,7 @@
   		final Group option = buildApachectlGroup();
   		assertContentsEqual(
   			list("--help", "-?", "-h", "-k"),
  -			option.triggers());
  +			option.getTriggers());
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/ParentTest.java
  
  Index: ParentTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/ParentTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- ParentTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ ParentTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -182,7 +182,7 @@
   	 */
   	public void testPrefixes() {
   		final Parent option = buildKParent();
  -		assertContentsEqual(list("-", "--"), option.prefixes());
  +		assertContentsEqual(list("-", "--"), option.getPrefixes());
   	}
   
   	/* (non-Javadoc)
  @@ -242,7 +242,7 @@
   	 */
   	public void testTriggers() {
   		final Parent option = buildKParent();
  -		assertContentsEqual(list("-k"), option.triggers());
  +		assertContentsEqual(list("-k"), option.getTriggers());
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/ArgumentTest.java
  
  Index: ArgumentTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/ArgumentTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- ArgumentTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ ArgumentTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -328,7 +328,7 @@
   	 */
   	public void testPrefixes() {
   		final Argument option = buildTargetsArgument();
  -		assertTrue(option.prefixes().isEmpty());
  +		assertTrue(option.getPrefixes().isEmpty());
   	}
   
   	/* (non-Javadoc)
  @@ -357,7 +357,7 @@
   	 */
   	public void testTriggers() {
   		final Argument option = buildTargetsArgument();
  -		assertTrue(option.triggers().isEmpty());
  +		assertTrue(option.getTriggers().isEmpty());
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/SwitchTest.java
  
  Index: SwitchTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/SwitchTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- SwitchTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ SwitchTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -138,7 +138,7 @@
   	 */
   	public void testPrefixes() {
   		final Switch option = buildDisplaySwitch();
  -		assertContentsEqual(list("-", "+"), option.prefixes());
  +		assertContentsEqual(list("-", "+"), option.getPrefixes());
   	}
   
   	/* (non-Javadoc)
  @@ -156,7 +156,7 @@
   		final Switch option = buildDisplaySwitch();
   		assertContentsEqual(
   			list("-d", "+d", "-disp", "+disp", "+display", "-display"),
  -			option.triggers());
  +			option.getTriggers());
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.4   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/PropertyOptionTest.java
  
  Index: PropertyOptionTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/PropertyOptionTest.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- PropertyOptionTest.java	23 Jan 2004 00:18:07 -0000	1.1.2.3
  +++ PropertyOptionTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.4
  @@ -95,7 +95,7 @@
   	 */
   	public void testPrefixes() {
   		final Option option = new PropertyOption();
  -		assertContentsEqual(list("-D"), option.prefixes());
  +		assertContentsEqual(list("-D"), option.getPrefixes());
   	}
   
   	/* (non-Javadoc)
  @@ -160,7 +160,7 @@
   	public void testTriggers() {
   		final Option option = new PropertyOption();
   
  -		assertContentsEqual(list("-D"), option.triggers());
  +		assertContentsEqual(list("-D"), option.getTriggers());
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/CommandTest.java
  
  Index: CommandTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/CommandTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- CommandTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ CommandTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -156,7 +156,7 @@
   	 */
   	public void testPrefixes() {
   		final Command option = buildStartCommand();
  -		assertTrue(option.prefixes().isEmpty());
  +		assertTrue(option.getPrefixes().isEmpty());
   	}
   
   	/* (non-Javadoc)
  @@ -181,7 +181,7 @@
   	 */
   	public void testTriggers() {
   		final Command option = buildStartCommand();
  -		final Set triggers = option.triggers();
  +		final Set triggers = option.getTriggers();
   		assertContentsEqual(list("start", "go"), triggers);
   	}
   
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/DefaultOptionTest.java
  
  Index: DefaultOptionTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/Attic/DefaultOptionTest.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- DefaultOptionTest.java	22 Jan 2004 22:40:50 -0000	1.1.2.2
  +++ DefaultOptionTest.java	29 Jan 2004 22:05:03 -0000	1.1.2.3
  @@ -154,7 +154,7 @@
   	 */
   	public void testPrefixes() {
   		final DefaultOption option = buildHelpOption();
  -		assertContentsEqual(list("-", "--"), option.prefixes());
  +		assertContentsEqual(list("-", "--"), option.getPrefixes());
   	}
   
   	/* (non-Javadoc)
  @@ -170,7 +170,7 @@
   	 */
   	public void testTriggers() {
   		final DefaultOption option = buildHelpOption();
  -		assertContentsEqual(list("-?", "-h", "--help"), option.triggers());
  +		assertContentsEqual(list("-?", "-h", "--help"), option.getTriggers());
   	}
   
   	/* (non-Javadoc)
  
  
  
  No                   revision
  No                   revision
  1.1.2.3   +2 -2      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Option.java
  
  Index: Option.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Option.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Option.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ Option.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -113,7 +113,7 @@
   	 * 
   	 * @return The set of triggers for this Option
   	 */
  -	public Set triggers();
  +	public Set getTriggers();
   
   	/**
   	 * Identifies the argument prefixes that should be considered options.
  @@ -125,7 +125,7 @@
   	 *    
   	 * @return The set of prefixes for this Option
   	 */
  -	public Set prefixes();
  +	public Set getPrefixes();
   
   	/**
   	 * Checks that the supplied CommandLine is valid with respect to this option.
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/CommandLine.java
  
  Index: CommandLine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/CommandLine.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- CommandLine.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ CommandLine.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -87,14 +87,14 @@
       private CommandLine defaultCommandLine = null;
   
   	public CommandLine(final Option rootOption, final List arguments) {
  -		this.prefixes = rootOption.prefixes();
  +		this.prefixes = rootOption.getPrefixes();
   		this.normalised = arguments;
   	}
   
   	public void addOption(Option option) {
   		options.add(option);
   		nameToOption.put(option.getPreferredName(), option);
  -		for (Iterator i = option.triggers().iterator(); i.hasNext();) {
  +		for (Iterator i = option.getTriggers().iterator(); i.hasNext();) {
   			nameToOption.put(i.next(), option);
   		}
   	}
  
  
  
  1.1.2.3   +13 -9     jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Command.java
  
  Index: Command.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Command.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Command.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ Command.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -78,13 +78,13 @@
   	private final String preferredName;
   
   	/** The aliases for this command */
  -	private final Set aliases = new HashSet();
  +	private final Set aliases;
   
   	/** Whether or not the command is required */
   	private final boolean required;
   
   	/** All the names for this command */
  -	private final Set triggers = new HashSet();
  +	private final Set triggers;
   
   	/**
   	 * Creates a new Command instance.
  @@ -118,13 +118,18 @@
   		this.required = required;
   
   		// gracefully and defensively handle aliases
  -		if (aliases != null) {
  -			this.aliases.addAll(aliases);
  +		if (aliases == null) {
  +		    this.aliases = Collections.EMPTY_SET;
  +		}
  +		else{
  +		    this.aliases = Collections.unmodifiableSet(new HashSet(aliases));
   		}
   
   		// populate the triggers Set
  -		this.triggers.add(preferredName);
  -		this.triggers.addAll(this.aliases);
  +		final Set triggers = new HashSet();
  +		triggers.add(preferredName);
  +		triggers.addAll(this.aliases);
  +		this.triggers = Collections.unmodifiableSet(triggers);
   	}
   
   	/* (non-Javadoc)
  @@ -154,9 +159,8 @@
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#triggers()
   	 */
  -	public Set triggers() {
  -		// return the triggers defensively
  -		return Collections.unmodifiableSet(triggers);
  +	public Set getTriggers() {
  +		return triggers;
   	}
   
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +2 -2      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/ArgumentImpl.java
  
  Index: ArgumentImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/ArgumentImpl.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- ArgumentImpl.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ ArgumentImpl.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -264,7 +264,7 @@
       /* (non-Javadoc)
        * @see org.apache.commons.cli2.Option#prefixes()
        */
  -    public Set prefixes()
  +    public Set getPrefixes()
       {
           return Collections.EMPTY_SET;
       }
  @@ -284,7 +284,7 @@
       /* (non-Javadoc)
        * @see org.apache.commons.cli2.Option#triggers()
        */
  -    public Set triggers()
  +    public Set getTriggers()
       {
           return Collections.EMPTY_SET;
       }
  
  
  
  1.1.2.3   +22 -17    jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/GroupImpl.java
  
  Index: GroupImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/GroupImpl.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- GroupImpl.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ GroupImpl.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -76,9 +76,9 @@
   	private final List options;
   	private final int minimum;
   	private final int maximum;
  -	private final List anonymous = new ArrayList();
  -	private final SortedMap optionMap =
  -		new TreeMap(StringComparator.getReverseInstance());
  +	private final List anonymous;
  +	private final SortedMap optionMap;
  +	private final Set prefixes;
   
   	public GroupImpl(
   		final Collection options,
  @@ -91,22 +91,34 @@
   		this.description = description;
   		this.minimum = minimum;
   		this.maximum = maximum;
  -
  -		this.options = new ArrayList(options);
  -		for (final Iterator i = this.options.iterator(); i.hasNext();) {
  +		
  +		final List optionsCopy = new ArrayList(options);
  +		this.options = Collections.unmodifiableList(optionsCopy);
  +		
  +		final List anonymous = new ArrayList();
  +		final SortedMap optionMap = new TreeMap(StringComparator.getReverseInstance());
  +		for (final Iterator i = optionsCopy.iterator(); i.hasNext();) {
   			final Option option = (Option) i.next();
   
   			if (option instanceof Argument) {
   				i.remove();
   				anonymous.add(option);
   			} else {
  -				for (Iterator j = option.triggers().iterator(); j.hasNext();) {
  +				for (Iterator j = option.getTriggers().iterator(); j.hasNext();) {
   					String prefix = (String) j.next();
   					optionMap.put(prefix, option);
   				}
   			}
   		}
  -
  +		this.anonymous = Collections.unmodifiableList(anonymous);
  +		this.optionMap = Collections.unmodifiableSortedMap(optionMap);
  +		
  +		final Set prefixes = new HashSet();
  +		for (final Iterator i = options.iterator(); i.hasNext();) {
  +		    final Option option = (Option) i.next();
  +		    prefixes.addAll(option.getPrefixes());
  +		}
  +		this.prefixes = Collections.unmodifiableSet(prefixes);
   	}
   
   	/* (non-Javadoc)
  @@ -145,21 +157,14 @@
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#prefixes()
   	 */
  -	public Set prefixes() {
  -		final Set prefixes = new HashSet();
  -
  -		for (final Iterator i = options.iterator(); i.hasNext();) {
  -			final Option option = (Option) i.next();
  -			prefixes.addAll(option.prefixes());
  -		}
  -
  +	public Set getPrefixes() {
   		return prefixes;
   	}
   
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#triggers()
   	 */
  -	public Set triggers() {
  +	public Set getTriggers() {
   		return optionMap.keySet();
   	}
   
  
  
  
  1.1.2.3   +17 -14    jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/DefaultOption.java
  
  Index: DefaultOption.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/DefaultOption.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- DefaultOption.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ DefaultOption.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -75,7 +75,8 @@
       private final Set aliases;
       private final Set burstAliases;
       private final boolean required;
  -    private final Set triggers = new HashSet();
  +    private final Set triggers;
  +    private final Set prefixes;
   
       private final String shortPrefix;
       private final String longPrefix;
  @@ -108,20 +109,27 @@
               this.aliases = Collections.EMPTY_SET;
           }
           else {
  -            this.aliases = aliases;
  +            this.aliases = Collections.unmodifiableSet(new HashSet(aliases));
           }
   
           if (burstAliases == null) {
               this.burstAliases = Collections.EMPTY_SET;
           }
           else {
  -            this.burstAliases = burstAliases;
  +            this.burstAliases = Collections.unmodifiableSet(new HashSet(burstAliases));
           }
           this.required = required;
  -
  -        this.triggers.add(preferredName);
  -        this.triggers.addAll(this.aliases);
  -        this.triggers.addAll(this.burstAliases);
  +        
  +        final Set triggers = new HashSet();
  +        triggers.add(preferredName);
  +        triggers.addAll(this.aliases);
  +        triggers.addAll(this.burstAliases);
  +        this.triggers = Collections.unmodifiableSet(triggers);
  +        
  +        final Set prefixes = new HashSet(super.getPrefixes());
  +        prefixes.add(shortPrefix);
  +        prefixes.add(longPrefix);
  +        this.prefixes = Collections.unmodifiableSet(prefixes);
       }
   
       /*
  @@ -184,7 +192,7 @@
   	 * 
   	 * @see org.apache.commons.cli2.Option#triggers()
   	 */
  -    public Set triggers() {
  +    public Set getTriggers() {
           return triggers;
       }
       /*
  @@ -192,12 +200,7 @@
   	 * 
   	 * @see org.apache.commons.cli2.Option#prefixes()
   	 */
  -    public Set prefixes() {
  -        final Set prefixes = new HashSet(super.prefixes());
  -
  -        prefixes.add(shortPrefix);
  -        prefixes.add(longPrefix);
  -
  +    public Set getPrefixes() {
           return prefixes;
       }
   
  
  
  
  1.1.2.3   +3 -3      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/ParentImpl.java
  
  Index: ParentImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/ParentImpl.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- ParentImpl.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ ParentImpl.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -121,17 +121,17 @@
   			trimmed = arg;
   		}
   
  -		return triggers().contains(trimmed);
  +		return getTriggers().contains(trimmed);
   	}
   
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#prefixes()
   	 */
  -	public Set prefixes() {
  +	public Set getPrefixes() {
   		if (children == null) {
   			return Collections.EMPTY_SET;
   		} else {
  -			return children.prefixes();
  +			return children.getPrefixes();
   		}
   	}
   
  
  
  
  1.1.2.4   +5 -3      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/PropertyOption.java
  
  Index: PropertyOption.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/PropertyOption.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- PropertyOption.java	29 Jan 2004 20:47:28 -0000	1.1.2.3
  +++ PropertyOption.java	29 Jan 2004 22:05:04 -0000	1.1.2.4
  @@ -76,6 +76,7 @@
   
   	private final String optionString;
   	private final String description;
  +	private final Set prefixes;
   
   	public PropertyOption() {
   		this(DEFAULT_OPTION_STRING, DEFAULT_DESCRIPTION, 'D');
  @@ -88,6 +89,7 @@
           super(id);
   		this.optionString = optionString;
   		this.description = description;
  +		this.prefixes = Collections.singleton(optionString);
   	}
   
   	public static final PropertyOption INSTANCE = new PropertyOption();
  @@ -104,8 +106,8 @@
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#prefixes()
   	 */
  -	public Set prefixes() {
  -		return Collections.singleton(optionString);
  +	public Set getPrefixes() {
  +		return prefixes;
   	}
   
   	/* (non-Javadoc)
  @@ -139,7 +141,7 @@
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#triggers()
   	 */
  -	public Set triggers() {
  +	public Set getTriggers() {
   		return Collections.singleton(optionString);
   	}
   	/* (non-Javadoc)
  
  
  
  1.1.2.3   +4 -4      jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Comparators.java
  
  Index: Comparators.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Comparators.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Comparators.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ Comparators.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -334,7 +334,7 @@
   	/**
   	 * Forces Comparators with a particular trigger to appear at the beginning of lists 
   	 * @param name the trigger name to select
  -	 * @see Option#triggers() 
  +	 * @see Option#getTriggers() 
   	 * @return a new comparator
   	 */
   	public static Comparator namedFirst(final String name) {
  @@ -344,7 +344,7 @@
   	/**
   	 * Forces Comparators with a particular trigger to appear at the end of lists 
   	 * @param name the trigger name to select
  -	 * @see Option#triggers() 
  +	 * @see Option#getTriggers() 
   	 * @return a new comparator
   	 */
   	public static Comparator namedLast(final String name) {
  @@ -360,8 +360,8 @@
   			final Option left = (Option) oleft;
   			final Option right = (Option) oright;
   
  -			final boolean l = left.triggers().contains(name);
  -			final boolean r = right.triggers().contains(name);
  +			final boolean l = left.getTriggers().contains(name);
  +			final boolean r = right.getTriggers().contains(name);
   
   			if (l ^ r) {
   				if (l) {
  
  
  
  1.1.2.3   +20 -13    jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Switch.java
  
  Index: Switch.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli2/Attic/Switch.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Switch.java	22 Jan 2004 22:40:51 -0000	1.1.2.2
  +++ Switch.java	29 Jan 2004 22:05:04 -0000	1.1.2.3
  @@ -73,9 +73,10 @@
   	private final String enabledPrefix;
   	private final String disabledPrefix;
   	private final boolean required;
  -	private final Set triggers = new HashSet();
  +	private final Set triggers;
   	private final String preferredName;
  -	private final Set aliases = new HashSet();
  +	private final Set aliases;
  +	private final Set prefixes;
   
   	protected Switch(
   		final String enabledPrefix,
  @@ -113,18 +114,29 @@
   		if (preferredName == null || preferredName.length() < 1) {
   			throw new IllegalArgumentException("preferredName must be at least 1 character");
   		}
  -
  +		
  +		final Set triggers = new HashSet();
   		triggers.add(enabledPrefix + preferredName);
   		triggers.add(disabledPrefix + preferredName);
  +		this.triggers = Collections.unmodifiableSet(triggers);
   
  -		if (aliases != null) {
  -			this.aliases.addAll(aliases);
  +		if (aliases == null) {
  +		    this.aliases = Collections.EMPTY_SET;
  +		}
  +		else {
  +			this.aliases = Collections.unmodifiableSet(new HashSet(aliases));
   			for (final Iterator i = aliases.iterator(); i.hasNext();) {
   				final String alias = (String) i.next();
   				triggers.add(enabledPrefix + alias);
   				triggers.add(disabledPrefix + alias);
   			}
   		}
  +		
  +		final Set prefixes = new HashSet(super.getPrefixes());
  +		prefixes.add(enabledPrefix);
  +		prefixes.add(disabledPrefix);
  +		this.prefixes = Collections.unmodifiableSet(prefixes);
  +
   	}
   
   	/* (non-Javadoc)
  @@ -155,19 +167,14 @@
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#triggers()
   	 */
  -	public Set triggers() {
  -		return Collections.unmodifiableSet(triggers);
  +	public Set getTriggers() {
  +		return triggers;
   	}
   
   	/* (non-Javadoc)
   	 * @see org.apache.commons.cli2.Option#prefixes()
   	 */
  -	public Set prefixes() {
  -		final Set prefixes = new HashSet(super.prefixes());
  -
  -		prefixes.add(enabledPrefix);
  -		prefixes.add(disabledPrefix);
  -
  +	public Set getPrefixes() {
   		return prefixes;
   	}
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org