static

in rcfile/src/main/java/com/twitter/elephantbird/util/ColumnarMetadata.java [80:123]


  static {
    // initialize messageDescriptor and the three field descriptors

    DescriptorProtos.FieldDescriptorProto classname =
        DescriptorProtos.FieldDescriptorProto.newBuilder()
            .setName("classname")
            .setNumber(1)
            .setType(Type.TYPE_STRING)
            .setLabel(Label.LABEL_OPTIONAL)
            .build();

    DescriptorProtos.FieldDescriptorProto fieldId =
        DescriptorProtos.FieldDescriptorProto.newBuilder()
            .setName("fieldId")
            .setNumber(2)
            .setType(Type.TYPE_INT32)
            .setLabel(Label.LABEL_REPEATED)
            .build();

    DescriptorProtos.FieldDescriptorProto nesting =
        DescriptorProtos.FieldDescriptorProto.newBuilder()
            .setName("nesting")
            .setNumber(3)
            .setType(Type.TYPE_INT32)
            .setLabel(Label.LABEL_OPTIONAL)
            .setDefaultValue("0")
            .build();

    try {
      messageDescriptor = Protobufs.makeMessageDescriptor(
          DescriptorProtos.DescriptorProto.newBuilder()
              .setName("ColumnarMetadata")
              .addField(classname)
              .addField(fieldId)
              .addField(nesting)
              .build());
    } catch (Descriptors.DescriptorValidationException e) {
      throw new RuntimeException(e);
    }

    classnameDesc   = messageDescriptor.findFieldByName("classname");
    fieldIdDesc     = messageDescriptor.findFieldByName("fieldId");
    nestingDesc     = messageDescriptor.findFieldByName("nesting");
  }