private static Stream convert()

in jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/introspection/ClassIntrospector.java [69:123]


    private static Stream<ResourceMethodInfoDTO> convert(
        Set<ClassResourceInfo> visited,
        String parentPath, String defaultHttpMethod,
        List<MediaType> defaultConsumeTypes,
        List<MediaType> defaultProduceTypes,
        Set<String> defaultNameBindings, boolean recurse,
        ClassResourceInfo classResourceInfo) {

        visited.add(classResourceInfo);

        String path = parentPath + getPathSafe(classResourceInfo);

        List<MediaType> consumeMime = getConsumesInfo(
            classResourceInfo.getResourceClass());

        if (consumeMime == null) {
            consumeMime = defaultConsumeTypes;
        }

        List<MediaType> produceMime = getProducesInfo(
            classResourceInfo.getResourceClass());

        if (produceMime == null) {
            produceMime = defaultProduceTypes;
        }

        Set<String> nameBindings = classResourceInfo.getNameBindings();
        if (nameBindings.isEmpty()) {
            nameBindings = defaultNameBindings;
        }

        MethodDispatcher methodDispatcher =
            classResourceInfo.getMethodDispatcher();

        Set<OperationResourceInfo> operationResourceInfos =
            methodDispatcher.getOperationResourceInfos();

        List<MediaType> consumeParam = consumeMime == null ? null : new ArrayList<>(consumeMime);
        List<MediaType> produceParam = produceMime == null ? null : new ArrayList<>(produceMime);
        HashSet<String> nameBindingsParam = nameBindings == null ? null : new HashSet<>(nameBindings);

        Stream<ResourceMethodInfoDTO> stream =
            operationResourceInfos.stream().
            flatMap(
                ori -> convert(
                    visited, path, defaultHttpMethod, consumeParam,
                    produceParam, nameBindingsParam, recurse, ori)
            ).collect(
                Collectors.toList()
            ).stream();

        visited.remove(classResourceInfo);

        return stream;
    }