You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by cz...@apache.org on 2004/03/12 14:02:55 UTC

cvs commit: avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source SourceParameters.java

cziegeler    2004/03/12 05:02:55

  Modified:    sourceresolve/src/java/org/apache/excalibur/source
                        SourceParameters.java
  Log:
  Add some useful methods
  
  Revision  Changes    Path
  1.5       +44 -1     avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/SourceParameters.java
  
  Index: SourceParameters.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/SourceParameters.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SourceParameters.java	28 Feb 2004 11:47:26 -0000	1.4
  +++ SourceParameters.java	12 Mar 2004 13:02:55 -0000	1.5
  @@ -261,6 +261,26 @@
       }
   
       /**
  +     * Get all values of a parameter.
  +     * @param name   The name of the parameter.
  +     * @return       An Array for the (String) values or null.
  +     */
  +    public String[] getParameterValuesAsArray( String name )
  +    {
  +        if( names.containsKey( name ) == true )
  +        {
  +            ArrayList list = (ArrayList)names.get( name );
  +            String[] values = new String[list.size()];
  +            for(int i=0;i<values.length;i++)
  +            {
  +                values[i] = (String)list.get(i);
  +            }
  +            return values;
  +        }
  +        return null;
  +    }
  +
  +    /**
        * Get all parameter names.
        * @return  Iterator for the (String) parameter names.
        */
  @@ -466,5 +486,28 @@
           {
               this.names.remove( name );
           }
  +    }
  +    
  +    /**
  +     * Returns an immutable java.util.Map containing parameter names as keys and 
  +     * parameter values as map values. The keys in the parameter map are of type String. 
  +     * The values in the parameter map are of type String array.
  +     */
  +    public Map getParameterMap() 
  +    {
  +        final Map m = new HashMap(this.names);
  +        Iterator entries = m.entrySet().iterator();
  +        while (entries.hasNext()) 
  +        {
  +            Map.Entry entry = (Map.Entry)entries.next();
  +            ArrayList list = (ArrayList)entry.getValue();
  +            String[] values = new String[list.size()];
  +            for(int i=0;i<values.length;i++)
  +            {
  +                values[i] = (String)list.get(i);
  +            }
  +            entry.setValue(values);
  +        }
  +        return m;
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org