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