1 10 11 package org.mmbase.util.functions; 12 13 22 23 public class AutodefiningParameters extends Parameters { 24 26 public AutodefiningParameters(Parameter[] base) { 27 super(base); 28 } 29 30 public AutodefiningParameters() { 31 super(new Parameter[0]); 32 } 33 34 public boolean containsParameter(Parameter param) { 35 return true; 36 } 37 38 protected int define(Parameter param) { 39 Parameter[] newDef = new Parameter[definition.length + 1]; 40 for (int i = 0; i < definition.length; i++) { 41 newDef[i] = definition[i]; 42 } 43 newDef[newDef.length - 1] = param; 44 definition = newDef; 45 toIndex++; 46 return definition.length - 1; 47 } 48 49 protected int define(String param) { 50 return define(new Parameter(param, Object .class)); 51 } 52 53 public int indexOfParameter(Parameter parameter) { 54 int index = super.indexOfParameter(parameter); 55 if (index == -1) { 56 return define(parameter); 57 } else { 58 return index; 59 } 60 } 61 62 public int indexOfParameter(String parameterName) { 63 int index = super.indexOfParameter(parameterName); 64 if (index == -1) { 65 return define(parameterName); 66 } else { 67 return index; 68 } 69 } 70 71 72 } 73 | Popular Tags |