private Set < String > getAllReferencedTypeNames ( Set < ApiResourceMetadata > controllers ) { // TODO Add nested objects as well. For now only the top level objects // are included Set < String > parametersNames = controllers . stream ( ) . flatMap ( resourceMetadata -> resourceMetadata . getParameters ( ) . stream ( ) ) . map ( apiParameter -> StringUtils . capitalize ( apiParameter . getName ( ) ) ) . collect ( Collectors . toSet ( ) ) ; Set < String > bodyNames = controllers . stream ( ) . flatMap ( resourceMetadata -> resourceMetadata . getDependencies ( ) . stream ( ) ) . map ( ApiBodyMetadata :: getName ) . collect ( Collectors . toSet ( ) ) ; bodyNames . addAll ( parametersNames ) ; return bodyNames ; }
Fetches all referenced type names so as to not generate classes multiple times