コード例 #1
0
 private FieldConfig parseFieldConfig(Node fieldNode) throws ConfigException {
   NamedNodeMap attr = fieldNode.getAttributes();
   Node nameNode = attr.getNamedItem(XMLConfigConstant.NAME);
   if (nameNode == null) {
     throw new ConfigException(ErrorMsg.NO_NAME_PROPERTY_FOR_FIELD);
   }
   FieldConfig fieldConfig = new FieldConfig(nameNode.getNodeValue());
   NodeList validateRule = fieldNode.getChildNodes();
   if (validateRule == null || validateRule.getLength() == 0) {
     return null;
   }
   for (int i = 0; i < validateRule.getLength(); i++) {
     Node node = validateRule.item(i);
     if (node.getNodeType() != Node.ELEMENT_NODE) {
       continue;
     }
     AbstractValidator validator =
         ValidatorRegistry.getInstance().getValidator(node.getNodeName());
     if (validator == null) {
       throw new ConfigException(ErrorMsg.NO_SUCH_VALIDATOR_ERROR + node.getNodeName());
     } else {
       fieldConfig.addRule(validator.parseRuleConfig(node));
     }
   }
   return fieldConfig;
 }