Update of /var/cvs/src/org/mmbase/util/functions
In directory james.mmbase.org:/tmp/cvs-serv7639

Modified Files:
        Functions.java 
Log Message:
When a Parameter[] definition is created by Parameter.Wrapper's it is handyer 
if all PatternParameters are collected at the end automaticly


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util/functions


Index: Functions.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/functions/Functions.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- Functions.java      20 Aug 2008 08:03:22 -0000      1.18
+++ Functions.java      20 Aug 2008 21:12:29 -0000      1.19
@@ -25,7 +25,7 @@
  * @author Pierre van Rooden
  * @author Daniel Ockeloen
  * @author Michiel Meeuwissen
- * @version $Id: Functions.java,v 1.18 2008/08/20 08:03:22 michiel Exp $
+ * @version $Id: Functions.java,v 1.19 2008/08/20 21:12:29 michiel Exp $
  */
 public class Functions {
 
@@ -50,8 +50,11 @@
      * @return List with only simple Parameter's.
      */
     public static List<Parameter<?>> define(Parameter<?>[] def, 
List<Parameter<?>> list) {
-        boolean patterns = list.size() == 0 ? false : list.get(list.size() - 
1) instanceof PatternParameter;
         if (def == null) return list;
+
+        int firstPattern = 0;
+        while (firstPattern < list.size() && ! (list.get(firstPattern) 
instanceof PatternParameter)) firstPattern++;
+        boolean patterns = false;
         for (Parameter d : def) {
             if (d instanceof Parameter.Wrapper) {
                 define(((Parameter.Wrapper) d).arguments, list);
@@ -60,7 +63,7 @@
                 patterns = true;
             } else {
                 if (patterns) throw new 
IllegalArgumentException("PatternParameter's must be last in the definition");
-                list.add(d);
+                list.add(firstPattern, d); firstPattern++;
             }
         }
         return list;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to