public ParamRule(String fieldName, NodeRuleFactory nodeRuleFactory) { super(fieldName, UriParameter.class); setNodeRuleFactory(nodeRuleFactory); }
@Override public void addRulesFor(Class<?> pojoClass) { super.addRulesFor(pojoClass); SimpleRule typeRule = (SimpleRule) getRuleByFieldName("type"); rules.put("minLength", new EnumModifierRule("minLength", Arrays.asList("string"), typeRule)); rules.put("maxLength", new EnumModifierRule("maxLength", Arrays.asList("string"), typeRule)); rules.put("minimum", new EnumModifierRule("minimum", Arrays.asList("integer", "number"), typeRule)); rules.put("maximum", new EnumModifierRule("maximum", Arrays.asList("integer", "number"), typeRule)); }
@SuppressWarnings("rawtypes") @Override public TupleRule<?, ?> getRuleForTuple(NodeTuple nodeTuple) { Node keyNode = nodeTuple.getKeyNode(); String paramName; if (keyNode instanceof ScalarNode) { paramName = ((ScalarNode) keyNode).getValue(); if (paramName.equals("version")) { errors.add(ValidationResult.createErrorResult("'" + paramName + "'" + " can not be declared, it is a reserved URI parameter.", keyNode)); } else if (getUriRule().getParameters().contains(paramName)) { return new ParamRule(paramName, getNodeRuleFactory()); } else { errors.add(ValidationResult.createErrorResult("Parameter '" + paramName + "' not declared in baseUri", keyNode)); } } else { errors.add(ValidationResult.createErrorResult("Invalid element", keyNode)); } return new DefaultTupleRule(keyNode.toString(), new DefaultTupleHandler(), getNodeRuleFactory()); }
@Override public void addRulesFor(Class<?> pojoClass) { super.addRulesFor(pojoClass); SimpleRule typeRule = (SimpleRule) getRuleByFieldName("type"); rules.put("minLength", new EnumModifierRule("minLength", Arrays.asList("string"), typeRule)); rules.put("maxLength", new EnumModifierRule("maxLength", Arrays.asList("string"), typeRule)); rules.put("minimum", new EnumModifierRule("minimum", Arrays.asList("integer", "number"), typeRule)); rules.put("maximum", new EnumModifierRule("maximum", Arrays.asList("integer", "number"), typeRule)); }
@SuppressWarnings("rawtypes") @Override public TupleRule<?, ?> getRuleForTuple(NodeTuple nodeTuple) { Node keyNode = nodeTuple.getKeyNode(); String paramName; if (keyNode instanceof ScalarNode) { paramName = ((ScalarNode) keyNode).getValue(); if (paramName.equals("version")) { errors.add(ValidationResult.createErrorResult("'" + paramName + "'" + " can not be declared, it is a reserved URI parameter.", keyNode)); } else if (getUriRule().getParameters().contains(paramName)) { return new ParamRule(paramName, getNodeRuleFactory()); } else { errors.add(ValidationResult.createErrorResult("Parameter '" + paramName + "' not declared in baseUri", keyNode)); } } else { errors.add(ValidationResult.createErrorResult("Invalid element", keyNode)); } return new DefaultTupleRule(keyNode.toString(), new DefaultTupleHandler(), getNodeRuleFactory()); }
public ParamRule(String fieldName, NodeRuleFactory nodeRuleFactory) { super(fieldName, UriParameter.class); setNodeRuleFactory(nodeRuleFactory); }