У меня есть рестлет, в котором я хочу связать валидатор и фильтровать один за другим в коде. Код выглядит примерно так
@Override
public synchronized Restlet createInboundRoot()
{
Router router = new Router();
Validator val = new ParameterValidator(getContext());
Filter fil = new MYFilter(getContext());
router.attach("/HelloWorld", HW.class);
fil.setNext(val);
val.setNext(router);
val.validate("Name",true,"^[a-z0-9A-Z]+$");
return val;
}
но это не проверяет фильтр, просто работает на валидаторе, а затем выходит.
Но если я напишу тот же код, что и ниже, он отлично работает,
@Override
public synchronized Restlet createInboundRoot()
{
Router router = new Router();
Validator val = new ParameterValidator(getContext());
Filter fil = new MYFilter(getContext());
router.attach("/HelloWorld", fil);
fil.setNext(val);
val.setNext(HW.class);
val.validate("Name",true,"^[a-z0-9A-Z]+$");
return router;
}
Приведенный выше код работает нормально, но теперь, если мне нужно создать цепочку, мне придется создавать новые объекты Validator и Filter с каждым новым сопоставлением. Любое решение будет оценено