private TupleRule<?, ?> createSequenceRule(Field declaredField, Sequence sequence) { TupleRule<?, ?> tupleRule = null; if (List.class.isAssignableFrom(declaredField.getType())) { Type type = declaredField.getGenericType(); if (type instanceof ParameterizedType) { ParameterizedType pType = (ParameterizedType) type; Type itemType = pType.getActualTypeArguments()[0]; if (sequence.rule() != TupleRule.class) { tupleRule = createInstanceOfTupleRule(sequence.rule(), declaredField.getName(), itemType); } else { tupleRule = new SequenceTupleRule(declaredField.getName(), itemType); } } } else { throw new RuntimeException("Only List can be sequence. Error on field " + declaredField.getName()); } return tupleRule; }
private TupleRule<?, ?> createSequenceRule(Field declaredField, Sequence sequence) { TupleRule<?, ?> tupleRule = null; if (List.class.isAssignableFrom(declaredField.getType())) { Type type = declaredField.getGenericType(); if (type instanceof ParameterizedType) { ParameterizedType pType = (ParameterizedType) type; Type itemType = pType.getActualTypeArguments()[0]; if (sequence.rule() != TupleRule.class) { tupleRule = createInstanceOfTupleRule(sequence.rule(), declaredField.getName(), itemType); } else { tupleRule = new SequenceTupleRule(declaredField.getName(), itemType); } } } else { throw new RuntimeException("Only List can be sequence. Error on field " + declaredField.getName()); } return tupleRule; }
private TupleRule<?, ?> createScalarRule(Field declaredField, Scalar scalar) { TupleRule<?, ?> tupleRule; if (scalar.rule() != TupleRule.class) { tupleRule = createInstanceOfTupleRule(scalar.rule(), declaredField.getName(), declaredField.getType()); } else { if (ReflectionUtils.isPojo(declaredField.getType())) { tupleRule = new PojoTupleRule(declaredField.getName(), declaredField.getType()); } else { tupleRule = new SimpleRule(declaredField.getName(), declaredField.getType()); } } return tupleRule; }
private TupleRule<?, ?> createScalarRule(Field declaredField, Scalar scalar) { TupleRule<?, ?> tupleRule; if (scalar.rule() != TupleRule.class) { tupleRule = createInstanceOfTupleRule(scalar.rule(), declaredField.getName(), declaredField.getType()); } else { if (ReflectionUtils.isPojo(declaredField.getType())) { tupleRule = new PojoTupleRule(declaredField.getName(), declaredField.getType()); } else { tupleRule = new SimpleRule(declaredField.getName(), declaredField.getType()); } } return tupleRule; }