List of usage examples for org.apache.commons.digester.plugins PluginCreateRule PluginCreateRule
public PluginCreateRule(Class<?> baseClass)
From source file:com.alibaba.antx.config.descriptor.ConfigDescriptorLoader.java
/** ?descriptordigester */ protected Digester getDigester() { Digester digester = loadValidatorPlugins(); // config/* www . j av a 2 s.co m*/ digester.addSetProperties("config"); // config/group digester.addObjectCreate("config/group", ConfigGroup.class); digester.addSetProperties("config/group"); digester.addSetNext("config/group", "addGroup"); // config/group/property digester.addObjectCreate("config/group/property", ConfigProperty.class); digester.addSetProperties("config/group/property"); digester.addCallMethod("config/group/property", "afterPropertiesSet"); digester.addSetNext("config/group/property", "addProperty"); // config/group/property/validator PluginCreateRule pcr = new PluginCreateRule(ConfigValidator.class); pcr.setPluginIdAttribute(null, "name"); digester.addRule("config/group/property/validator", pcr); digester.addSetNext("config/group/property/validator", "addValidator"); // config/script/generate digester.addObjectCreate("config/script/generate", ConfigGenerate.class); digester.addSetProperties("config/script/generate"); digester.addSetNext("config/script/generate", "addGenerate"); digester.clear(); return digester; }