public class XmlRewriteRulesDigester extends AbstractRulesModule implements XmlRewriteRulesTags {
@Override
protected void configure() {
forPattern( ROOT ).addRule( new RulesFactory() );
forPattern( ROOT ).addRule( new SetPropertiesRule() );
for( String name : UrlRewriteFunctionDescriptorFactory.getNames() ) {
forPattern( ROOT + "/" + FUNCTIONS + "/" + name ).addRule( new FunctionFactory() );
forPattern( ROOT + "/" + FUNCTIONS + "/" + name ).addRule( new SetPropertiesRule() );
}
forPattern( ROOT + "/" + RULE ).addRule( new RuleFactory() );
forPattern( ROOT + "/" + RULE ).addRule( new SetPropertiesRule() );
for( String type : UrlRewriteStepDescriptorFactory.getTypes() ) {
forPattern( "*/" + type ).addRule( new StepFactory() );
forPattern( "*/" + type ).addRule( new SetPropertiesRule() );
}
forPattern( ROOT + "/" + FILTER ).addRule( new FilterFactory() );
forPattern( ROOT + "/" + FILTER ).addRule( new SetPropertiesRule() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT ).addRule( new FilterContentFactory() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT ).addRule( new SetPropertiesRule() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/*/" + APPLY ).addRule( new FilterApplyFactory() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/*/" + APPLY ).addRule( new SetPropertiesRule() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + SCOPE ).addRule( new FilterScopeFactory() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + SCOPE ).addRule( new SetPropertiesRule() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + BUFFER ).addRule( new FilterBufferFactory() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + BUFFER ).addRule( new SetPropertiesRule() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + BUFFER + "/" + DETECT ).addRule( new FilterDetectFactory() );
forPattern( ROOT + "/" + FILTER + "/" + CONTENT + "/" + BUFFER + "/" + DETECT ).addRule( new SetPropertiesRule() );
// forPattern( "*/" + MATCH ).addRule( new MatchFactory() );
// forPattern( "*/" + MATCH ).addRule( new SetPropertiesRule() );
// forPattern( "*/" + CHECK ).addRule( new CheckFactory() );
// forPattern( "*/" + CHECK ).addRule( new SetPropertiesRule() );