/** * Returns true if this message is generated by parser as a * holder for a map entries. */ public boolean isMap() { if (type instanceof Message) { Message message = (Message) type; return message.isMapEntry(); } return false; }
/** * Returns true if this message is generated by parser as a * holder for a map entries. */ public boolean isMap() { if (type instanceof Message) { Message message = (Message) type; return message.isMapEntry(); } return false; }
private List<JsonTreeNode> processContainer(UserTypeContainer proto) { List<JsonTreeNode> result = new ArrayList<>(); proto.getEnums() .forEach(anEnum -> result.add(ImmutableJsonTreeNode.builder() .label(anEnum.getName()) .data(ImmutableNodeData.builder() .type(NodeType.ENUM) .ref(anEnum.getCanonicalName()) .build()) .build())); proto.getMessages().stream() .filter(message -> !message.isMapEntry()) .forEach(message -> { ImmutableJsonTreeNode.Builder builder = ImmutableJsonTreeNode.builder(); builder.label(message.getName()); builder.data(ImmutableNodeData.builder() .type(NodeType.MESSAGE) .ref(message.getCanonicalName()) .build()); List<JsonTreeNode> children = processContainer(message); if (!children.isEmpty()) { builder.children(children); } result.add(builder.build()); }); return result; } }
private List<JsonTreeNode> processContainer(UserTypeContainer proto) { List<JsonTreeNode> result = new ArrayList<>(); proto.getEnums() .forEach(anEnum -> result.add(ImmutableJsonTreeNode.builder() .label(anEnum.getName()) .data(ImmutableNodeData.builder() .type(NodeType.ENUM) .ref(anEnum.getCanonicalName()) .build()) .build())); proto.getMessages().stream() .filter(message -> !message.isMapEntry()) .forEach(message -> { ImmutableJsonTreeNode.Builder builder = ImmutableJsonTreeNode.builder(); builder.label(message.getName()); builder.data(ImmutableNodeData.builder() .type(NodeType.MESSAGE) .ref(message.getCanonicalName()) .build()); List<JsonTreeNode> children = processContainer(message); if (!children.isEmpty()) { builder.children(children); } result.add(builder.build()); }); return result; } }