public static TagFamilySpec fromProtobuf()

in src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/TagFamilySpec.java [80:107]


    public static TagFamilySpec fromProtobuf(BanyandbDatabase.TagFamilySpec pb) {
        final TagFamilySpec.Builder builder = TagFamilySpec.create(pb.getName());
        for (int j = 0; j < pb.getTagsCount(); j++) {
            final BanyandbDatabase.TagSpec ts = pb.getTags(j);
            final String tagName = ts.getName();
            switch (ts.getType()) {
                case TAG_TYPE_INT:
                    builder.addTagSpec(TagFamilySpec.TagSpec.newIntTag(tagName));
                    break;
                case TAG_TYPE_STRING:
                    builder.addTagSpec(TagFamilySpec.TagSpec.newStringTag(tagName));
                    break;
                case TAG_TYPE_INT_ARRAY:
                    builder.addTagSpec(TagFamilySpec.TagSpec.newIntArrayTag(tagName));
                    break;
                case TAG_TYPE_STRING_ARRAY:
                    builder.addTagSpec(TagFamilySpec.TagSpec.newStringArrayTag(tagName));
                    break;
                case TAG_TYPE_DATA_BINARY:
                    builder.addTagSpec(TagFamilySpec.TagSpec.newBinaryTag(tagName));
                    break;
                default:
                    throw new IllegalStateException("unrecognized tag type");
            }
        }

        return builder.build();
    }