private Converter buildConverter()

in gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GenericRecordToOrcValueWriter.java [408:443]


  private Converter buildConverter(TypeDescription schema, Schema avroSchema) {
    switch (schema.getCategory()) {
      case BOOLEAN:
        return new BooleanConverter();
      case BYTE:
        return new ByteConverter();
      case SHORT:
        return new ShortConverter();
      case INT:
        return new IntConverter();
      case LONG:
        return new LongConverter();
      case FLOAT:
        return new FloatConverter();
      case DOUBLE:
        return new DoubleConverter();
      case BINARY:
        return new BytesConverter();
      case STRING:
      case CHAR:
      case VARCHAR:
        return new StringConverter();
      case DECIMAL:
        return new DecimalConverter(schema.getScale());
      case STRUCT:
        return new StructConverter(schema, AvroOrcSchemaConverter.sanitizeNullableSchema(avroSchema));
      case LIST:
        return new ListConverter(schema, AvroOrcSchemaConverter.sanitizeNullableSchema(avroSchema));
      case MAP:
        return new MapConverter(schema, AvroOrcSchemaConverter.sanitizeNullableSchema(avroSchema));
      case UNION:
        return new UnionConverter(schema, AvroOrcSchemaConverter.sanitizeNullableSchema(avroSchema));
      default:
        throw new IllegalArgumentException("Unhandled type " + schema);
    }
  }