private void configurationElement(XNode context) {
   try {
     String namespace = context.getStringAttribute("namespace");
     if (namespace.equals("")) {
       throw new BuilderException("Mapper's namespace cannot be empty");
     }
     builderAssistant.setCurrentNamespace(namespace);
     cacheRefElement(context.evalNode("cache-ref"));
     cacheElement(context.evalNode("cache"));
     parameterMapElement(context.evalNodes("/mapper/parameterMap"));
     resultMapElements(context.evalNodes("/mapper/resultMap"));
     sqlElement(context.evalNodes("/mapper/sql"));
     buildStatementFromContext(context.evalNodes("select|insert|update|delete"));
   } catch (Exception e) {
     throw new BuilderException("Error parsing Mapper XML. Cause: " + e, e);
   }
 }
 private void parameterMapElement(List<XNode> list) throws Exception {
   for (XNode parameterMapNode : list) {
     String id = parameterMapNode.getStringAttribute("id");
     String type = parameterMapNode.getStringAttribute("type");
     Class<?> parameterClass = resolveClass(type);
     List<XNode> parameterNodes = parameterMapNode.evalNodes("parameter");
     List<ParameterMapping> parameterMappings = new ArrayList<ParameterMapping>();
     for (XNode parameterNode : parameterNodes) {
       String property = parameterNode.getStringAttribute("property");
       String javaType = parameterNode.getStringAttribute("javaType");
       String jdbcType = parameterNode.getStringAttribute("jdbcType");
       String resultMap = parameterNode.getStringAttribute("resultMap");
       String mode = parameterNode.getStringAttribute("mode");
       String typeHandler = parameterNode.getStringAttribute("typeHandler");
       Integer numericScale = parameterNode.getIntAttribute("numericScale");
       ParameterMode modeEnum = resolveParameterMode(mode);
       Class<?> javaTypeClass = resolveClass(javaType);
       JdbcType jdbcTypeEnum = resolveJdbcType(jdbcType);
       @SuppressWarnings("unchecked")
       Class<? extends TypeHandler<?>> typeHandlerClass =
           (Class<? extends TypeHandler<?>>) resolveClass(typeHandler);
       ParameterMapping parameterMapping =
           builderAssistant.buildParameterMapping(
               parameterClass,
               property,
               javaTypeClass,
               jdbcTypeEnum,
               resultMap,
               modeEnum,
               typeHandlerClass,
               numericScale);
       parameterMappings.add(parameterMapping);
     }
     builderAssistant.addParameterMap(id, parameterClass, parameterMappings);
   }
 }