/** * Process generic collection. * * @param omElement the om element * @param generictype the generictype * @param helper the helper * @param objectSupplier the object supplier * @return the collection * @throws AxisFault the axis fault */ public static Collection<Object> processGenericCollection(OMElement omElement, Type generictype, MultirefHelper helper, ObjectSupplier objectSupplier) throws AxisFault { QName partName = omElement.getQName(); Type parameter = Object.class; if (generictype != null && (generictype instanceof ParameterizedType)) { ParameterizedType aType = (ParameterizedType) generictype; Type[] parameterArgTypes = aType.getActualTypeArguments(); parameter = parameterArgTypes[0]; } /* * Fix for AXIS2-5090. Use siblings with same QName instead of look for * children because list elements available on same level. */ Iterator parts = omElement.getParent().getChildrenWithName(partName); return processGenericsElement(parameter, omElement, helper, parts, objectSupplier, generictype); }
/** * Process generic collection. * * @param omElement the om element * @param generictype the generictype * @param helper the helper * @param objectSupplier the object supplier * @return the collection * @throws AxisFault the axis fault */ public static Collection<Object> processGenericCollection(OMElement omElement, Type generictype, MultirefHelper helper, ObjectSupplier objectSupplier) throws AxisFault { QName partName = omElement.getQName(); Type parameter = Object.class; if (generictype != null && (generictype instanceof ParameterizedType)) { ParameterizedType aType = (ParameterizedType) generictype; Type[] parameterArgTypes = aType.getActualTypeArguments(); parameter = parameterArgTypes[0]; } /* * Fix for AXIS2-5090. Use siblings with same QName instead of look for * children because list elements available on same level. */ Iterator<OMElement> parts = omElement.getParent().getChildrenWithName(partName); return processGenericsElement(parameter, omElement, helper, parts, objectSupplier, generictype); }