@Override public String getName() { return wrapped.getName(); }
@Override public Converter<?> getConverter() { return wrapped.getConverter(); }
@Override public Validator<?> getValidator() { return wrapped.getValidator(); }
for (Binding binding : parameter.getBindings()) { if (!parentParam.getBindings().contains(binding)) throwRedefinitionError(rule, name); for (Constraint<?> constraint : parameter.getConstraints()) { if (!parentParam.getConstraints().contains(constraint)) throwRedefinitionError(rule, name); for (Transposition<?> transposition : parameter.getTranspositions()) { if (!parentParam.getTranspositions().contains(transposition)) throwRedefinitionError(rule, name); if (parentParam.getConverter() != null && !parentParam.getConverter().equals(parameter.getConverter())) throwRedefinitionError(rule, name); if (parentParam.getValidator() != null && !parentParam.getValidator().equals(parameter.getValidator())) throwRedefinitionError(rule, name);
Converter<?> converter = parameter.getConverter(); if (converter != null) throw new RewriteException("Cannot specify @" + Deferred.class.getSimpleName() + " to [" + field + "] of class [" + field.getDeclaringClass() + "] because the parameter [" + parameter.getName() + "] is not writable."); Validator<?> validator = parameter.getValidator(); if (validator != null) throw new RewriteException("Cannot specify @" + Deferred.class.getSimpleName() + " to [" + field + "] of class [" + field.getDeclaringClass() + "] because the parameter [" + parameter.getName() + "] is not writable.");
List<Binding> bindings = parameter.getBindings(); for (Binding binding : bindings) { try { Object convertedValue = ValueHolderUtil.convert(event, context, parameter.getConverter(), value); if (ValueHolderUtil.validates(event, context, parameter.getValidator(), convertedValue)) Object convertedValue = ValueHolderUtil.convert(event, context, parameter.getConverter(), value); if (ValueHolderUtil.validates(event, context, parameter.getValidator(), convertedValue))
@Override public List<Constraint<String>> getConstraints() { return wrapped.getConstraints(); }
@Override public List<Transposition<String>> getTranspositions() { return wrapped.getTranspositions(); }
@Override public List<Binding> getBindings() { return wrapped.getBindings(); }
for (Binding binding : parameter.getBindings()) { if (!parentParam.getBindings().contains(binding)) throwRedefinitionError(rule, name); for (Constraint<?> constraint : parameter.getConstraints()) { if (!parentParam.getConstraints().contains(constraint)) throwRedefinitionError(rule, name); for (Transposition<?> transposition : parameter.getTranspositions()) { if (!parentParam.getTranspositions().contains(transposition)) throwRedefinitionError(rule, name); if (parentParam.getConverter() != null && !parentParam.getConverter().equals(parameter.getConverter())) throwRedefinitionError(rule, name); if (parentParam.getValidator() != null && !parentParam.getValidator().equals(parameter.getValidator())) throwRedefinitionError(rule, name);
Converter<?> converter = parameter.getConverter(); if (converter != null) throw new RewriteException("Cannot specify @" + Deferred.class.getSimpleName() + " to [" + field + "] of class [" + field.getDeclaringClass() + "] because the parameter [" + parameter.getName() + "] is not writable."); Validator<?> validator = parameter.getValidator(); if (validator != null) throw new RewriteException("Cannot specify @" + Deferred.class.getSimpleName() + " to [" + field + "] of class [" + field.getDeclaringClass() + "] because the parameter [" + parameter.getName() + "] is not writable.");
List<Binding> bindings = parameter.getBindings(); for (Binding binding : bindings) { try { Object convertedValue = ValueHolderUtil.convert(event, context, parameter.getConverter(), value); if (ValueHolderUtil.validates(event, context, parameter.getValidator(), convertedValue)) Object convertedValue = ValueHolderUtil.convert(event, context, parameter.getConverter(), value); if (ValueHolderUtil.validates(event, context, parameter.getValidator(), convertedValue))
@Override public List<Constraint<String>> getConstraints() { return wrapped.getConstraints(); }
@Override public List<Transposition<String>> getTranspositions() { return wrapped.getTranspositions(); }
@Override public List<Binding> getBindings() { return wrapped.getBindings(); }
for (Binding binding : parameter.getBindings()) if (!parentParam.getBindings().contains(binding)) throwRedefinitionError(rule, name); for (Constraint<String> constraint : parameter.getConstraints()) if (!parentParam.getConstraints().contains(constraint)) throwRedefinitionError(rule, name); for (Transposition<String> transposition : parameter.getTranspositions()) if (!parentParam.getTranspositions().contains(transposition)) throwRedefinitionError(rule, name); if (parentParam.getConverter() != null && !parentParam.getConverter().equals(parameter.getConverter())) throwRedefinitionError(rule, name); if (parentParam.getValidator() != null && !parentParam.getValidator().equals(parameter.getValidator())) throwRedefinitionError(rule, name);
@Override public String getName() { return wrapped.getName(); }
Iterator<Constraint<String>> iterator = store.get(group.getName()).getConstraints().iterator(); while (iterator.hasNext())
@Override public boolean submit(Rewrite event, EvaluationContext context, Parameter<?> param, String value) { Assert.notNull(event, "Rewrite event must not be null."); Assert.notNull(context, "EvaluationContext must not be null."); Assert.notNull(param, "Parameter must not be null."); boolean result = false; boolean supportsSubmission = supportsSubmission(event, context, param, value); if (!supportsSubmission) { result = true; } else if (supportsSubmission && isValid(event, context, param, value)) { // FIXME Transposition processing will break multi-conditional matching for (Transposition<String> transposition : param.getTranspositions()) { value = transposition.transpose(event, context, value); } map.put(param, value); result = true; } return result; }
/** * Extract bound values from configured {@link Parameter} instances. Return a {@link List} of the extracted values. */ public static Object performRetrieval(final Rewrite event, final EvaluationContext context, final Parameter<?> parameter) { Object result = null; List<Binding> bindings = new ArrayList<Binding>(parameter.getBindings()); Collections.reverse(bindings); // FIXME Should not have to worry about order here. for (Binding binding : bindings) { if (result == null && !(binding instanceof Evaluation) && binding.supportsRetrieval()) { result = binding.retrieve(event, context); } } for (Binding binding : bindings) { if (binding instanceof Evaluation) { if (((Evaluation) binding).hasValue(event, context)) { result = binding.retrieve(event, context); } } } return result; }