List of usage examples for org.apache.commons.digester.plugins PluginDeclarationRule PluginDeclarationRule
public PluginDeclarationRule()
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 {/*w ww .j ava2s . c o 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; }