List of usage examples for org.apache.commons.digester.plugins PluginRules PluginRules
public PluginRules()
From source file:com.alibaba.antx.config.descriptor.ConfigDescriptorLoader.java
/** ?validators.xmlvalidator */ private Digester loadValidatorPlugins() { Digester digester = new Digester(); digester.setRules(new PluginRules()); digester.addObjectCreate("config-property-validators", HashMap.class); digester.addCallMethod("config-property-validators/validator", "put", 2); digester.addCallParam("config-property-validators/validator", 0, "id"); digester.addCallParam("config-property-validators/validator", 1, "class"); digester.addRule("config-property-validators/validator", new PluginDeclarationRule()); InputStream istream = getClass().getResourceAsStream("validators.xml"); try {/*from ww w . ja va2s. co m*/ digester.push(digester.parse(istream)); } catch (Exception e) { throw new ConfigException("Failed to load validators", e); } finally { if (istream != null) { try { istream.close(); } catch (IOException e) { } } } digester.getRules().clear(); return digester; }