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();
}