/** * @param element - * @return DParameter * @throws ParameterException - */ public static DParameter decode(Element element) throws ParameterException { String type = element.getAttribute("xsi:type"); type = XMLUtils.getLocalPart(type); DParameter dParameter = null; if ("Float".equals(type)) { dParameter = DFloatCodec.decode(element); } else if ("Date".equals(type)) { dParameter = DDateCodec.decode(element); } else if ("String".equals(type)) { dParameter = DStringCodec.decode(element); } else if ("Integer".equals(type)) { dParameter = DIntegerCodec.decode(element); } else if ("Boolean".equals(type)) { dParameter = DBooleanCodec.decode(element); } else if ("FloatList".equals(type)) { dParameter = DFloatListCodec.decode(element); } else if ("DateList".equals(type)) { dParameter = DDateListCodec.decode(element); } else if ("StringList".equals(type)) { dParameter = DStringListCodec.decode(element); } else if ("IntegerList".equals(type)) { dParameter = DIntegerListCodec.decode(element); } else { throw new ParameterException("Unknown parameter type [" + type + "]"); } dParameter.setName(element.getAttribute("Name")); dParameter.setType(type); return dParameter; } // End Method def.