return parameterizedTypeFor(LIST_TYPE, valueType);
}
+ public static boolean isListType(final ParameterizedType type) {
+ return LIST_TYPE.equals(type.getRawType());
+ }
+
public static boolean isListType(final Type type) {
- return type instanceof ParameterizedType && LIST_TYPE.equals(((ParameterizedType) type).getRawType());
+ return type instanceof ParameterizedType && isListType((ParameterizedType) type);
}
/**
«ENDFOR»
'''
+ def private generateSetter(GeneratedProperty field) {
+ val returnType = field.returnType
+ if (returnType instanceof ParameterizedType) {
+ if (Types.isListType(returnType)) {
+ return generateListSetter(field, returnType.actualTypeArguments.get(0))
+ }
+ }
+ return generateSimpleSetter(field, returnType)
+ }
+
def private generateListSetter(GeneratedProperty field, Type actualType) '''
«val restrictions = restrictionsForSetter(actualType)»
«IF restrictions !== null»
'''
- def private generateSetter(GeneratedProperty field, Type actualType) '''
+ def private generateSimpleSetter(GeneratedProperty field, Type actualType) '''
«val restrictions = restrictionsForSetter(actualType)»
«IF restrictions !== null»
«generateCheckers(field, restrictions, actualType)»
}
'''
- private def Type getActualType(ParameterizedType ptype) {
- return ptype.getActualTypeArguments.get(0)
- }
-
/**
* Template method which generates setter methods
*
}
«ENDIF»
«FOR property : properties»
- «IF property.returnType instanceof ParameterizedType && Types.isListType(property.returnType)»
- «generateListSetter(property, getActualType(property.returnType as ParameterizedType))»
- «ELSE»
- «generateSetter(property, property.returnType)»
- «ENDIF»
+ «generateSetter(property)»
«ENDFOR»
«IF augmentType !== null»