Author: sebb Date: Sun May 20 12:41:25 2007 New Revision: 539920 URL: http://svn.apache.org/viewvc?view=rev&rev=539920 Log: Remove deprecated constructor (OK as code has not been released)
Modified: jakarta/commons/proper/cli/branches/avalon-implementation/src/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java Modified: jakarta/commons/proper/cli/branches/avalon-implementation/src/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/cli/branches/avalon-implementation/src/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java?view=diff&rev=539920&r1=539919&r2=539920 ============================================================================== --- jakarta/commons/proper/cli/branches/avalon-implementation/src/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java (original) +++ jakarta/commons/proper/cli/branches/avalon-implementation/src/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java Sun May 20 12:41:25 2007 @@ -59,9 +59,15 @@ final int id, final String description ) { - this( name, flags, id, description, - ((flags & CLOptionDescriptor.DUPLICATES_ALLOWED) > 0) - ? new int[0] : new int[]{id} ); + + checkFlags(flags); + + m_id = id; + m_name = name; + m_flags = flags; + m_description = description; + m_incompatible = ((flags & DUPLICATES_ALLOWED) > 0) + ? new int[0] : new int[] { id }; } /** @@ -71,21 +77,30 @@ * @param flags the flags * @param id the id/character option * @param description description of option usage - * @param incompatible an array listing the ids of all incompatible options - * @deprecated use the version with the array of CLOptionDescriptor's + * @param incompatible an array listing the descriptors of all incompatible options */ public CLOptionDescriptor( final String name, final int flags, final int id, final String description, - final int[] incompatible ) + final CLOptionDescriptor[] incompatible ) { + + checkFlags(flags); + m_id = id; m_name = name; m_flags = flags; m_description = description; - m_incompatible = incompatible; + m_incompatible = new int[incompatible.length]; + for (int i = 0; i < incompatible.length; i++) { + m_incompatible[i] = incompatible[i].getId(); + } + } + + // helper method - check for invalid flag combinations + private void checkFlags(final int flags) { int modeCount = 0; if( (ARGUMENT_REQUIRED & flags) == ARGUMENT_REQUIRED ) { @@ -113,32 +128,6 @@ { final String message = "Multiple modes specified for option " + this; throw new IllegalStateException( message ); - } - } - - /** - * Constructor. - * - * @param name the name/long option - * @param flags the flags - * @param id the id/character option - * @param description description of option usage - */ - public CLOptionDescriptor( final String name, - final int flags, - final int id, - final String description, - final CLOptionDescriptor[] incompatible ) - { - m_id = id; - m_name = name; - m_flags = flags; - m_description = description; - - m_incompatible = new int[incompatible.length]; - for( int i = 0; i < incompatible.length; i++ ) - { - m_incompatible[i] = incompatible[i].getId(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]