org.apache.kafka.connect.data.Field.index()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(5.5k)|赞(0)|评价(0)|浏览(106)

本文整理了Java中org.apache.kafka.connect.data.Field.index()方法的一些代码示例,展示了Field.index()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Field.index()方法的具体详情如下:
包路径:org.apache.kafka.connect.data.Field
类名称:Field
方法名:index

Field.index介绍

[英]Get the index of this field within the struct.
[中]

代码示例

代码示例来源:origin: confluentinc/ksql

public Struct toConnectRow(final GenericRow row) {
  final Struct struct = new Struct(schema);
  schema.fields().forEach(
    field -> struct.put(field, row.getColumns().get(field.index()))
  );
  return struct;
 }
}

代码示例来源:origin: debezium/debezium

private static boolean areFieldListsEqual(List<Field> fields1, List<Field> fields2) {
    if (fields1 == null && fields2 != null || fields1 != null && fields2 == null) {
      return false;
    }

    if (fields1.size() != fields2.size()) {
      return false;
    }

    for(int i = 0; i < fields1.size(); i++) {
      Field field1 = fields1.get(i);
      Field field2 = fields2.get(i);

      boolean equal = Objects.equals(field1.index(), field2.index()) &&
          Objects.equals(field1.name(), field2.name()) &&
          areConnectSchemasEqual(field1.schema(), field2.schema());

      if (!equal) {
        return false;
      }
    }

    return true;
  }
}

代码示例来源:origin: debezium/debezium

sb.append('{');
appendFirst("name", f.name());
appendAdditional("index", f.index());
appendAdditional("schema", f.schema());
sb.append('}');

代码示例来源:origin: debezium/debezium

assertThat(values).isNotNull();
assertThat(values.field("C1").name()).isEqualTo("C1");
assertThat(values.field("C1").index()).isEqualTo(0);
assertThat(values.field("C1").schema()).isEqualTo(SchemaBuilder.string().build());
assertThat(values.field("C2").name()).isEqualTo("C2");
assertThat(values.field("C2").index()).isEqualTo(1);
assertThat(values.field("C2").schema()).isEqualTo(Decimal.builder(3).parameter("connect.decimal.precision", "5").optional().build()); // scale of 3
assertThat(values.field("C3").name()).isEqualTo("C3");
assertThat(values.field("C3").index()).isEqualTo(2);
assertThat(values.field("C3").schema()).isEqualTo(Date.builder().optional().build()); // optional date
assertThat(values.field("C4").name()).isEqualTo("C4");
assertThat(values.field("C4").index()).isEqualTo(3);
assertThat(values.field("C4").schema()).isEqualTo(SchemaBuilder.int32().optional().build()); // JDBC INTEGER = 32 bits
assertThat(values.field("C5").index()).isEqualTo(4);
assertThat(values.field("C5").schema()).isEqualTo(SchemaBuilder.bytes().build()); // JDBC BINARY = bytes
assertThat(values.field("C6").index()).isEqualTo(5);
assertThat(values.field("C6").schema()).isEqualTo(SchemaBuilder.int16().build());

代码示例来源:origin: org.apache.kafka/connect-api

/**
 * Get the underlying raw value for the field without accounting for default values.
 * @param fieldName the field to get the value of
 * @return the raw value
 */
public Object getWithoutDefault(String fieldName) {
  Field field = lookupField(fieldName);
  return values[field.index()];
}

代码示例来源:origin: com.github.jcustenborder.kafka.connect/kafka-connect-cdc-test

public static void assertField(final Field expected, final Field actual, String message) {
 String prefix = Strings.isNullOrEmpty(message) ? "" : message + ": ";
 if (null == expected) {
  assertNull(actual, prefix + "actual should be null.");
  return;
 }
 assertEquals(expected.name(), actual.name(), prefix + "name does not match");
 assertEquals(expected.index(), actual.index(), prefix + "name does not match");
 assertSchema(expected.schema(), actual.schema(), prefix + "schema does not match");
}

代码示例来源:origin: org.apache.kafka/connect-api

private Object getCheckType(String fieldName, Schema.Type type) {
  Field field = lookupField(fieldName);
  if (field.schema().type() != type)
    throw new DataException("Field '" + fieldName + "' is not of type " + type);
  return values[field.index()];
}

代码示例来源:origin: org.apache.kafka/connect-api

/**
 * Get the value of a field, returning the default value if no value has been set yet and a default value is specified
 * in the field's schema. Because this handles fields of all types, the value is returned as an {@link Object} and
 * must be cast to a more specific type.
 * @param field the field to lookup
 * @return the value for the field
 */
public Object get(Field field) {
  Object val = values[field.index()];
  if (val == null && field.schema().defaultValue() != null) {
    val = field.schema().defaultValue();
  }
  return val;
}

代码示例来源:origin: org.apache.kafka/connect-api

/**
 * Set the value of a field. Validates the value, throwing a {@link DataException} if it does not match the field's
 * {@link Schema}.
 * @param field the field to set
 * @param value the value of the field
 * @return the Struct, to allow chaining of {@link #put(String, Object)} calls
 */
public Struct put(Field field, Object value) {
  if (null == field)
    throw new DataException("field cannot be null.");
  ConnectSchema.validateValue(field.name(), field.schema(), value);
  values[field.index()] = value;
  return this;
}

代码示例来源:origin: org.apache.kafka/connect-api

/**
 * Validates that this struct has filled in all the necessary data with valid values. For required fields
 * without defaults, this validates that a value has been set and has matching types/schemas. If any validation
 * fails, throws a DataException.
 */
public void validate() {
  for (Field field : schema.fields()) {
    Schema fieldSchema = field.schema();
    Object value = values[field.index()];
    if (value == null && (fieldSchema.isOptional() || fieldSchema.defaultValue() != null))
      continue;
    ConnectSchema.validateValue(field.name(), fieldSchema, value);
  }
}

代码示例来源:origin: io.debezium/debezium-core

sb.append('{');
appendFirst("name", f.name());
appendAdditional("index", f.index());
appendAdditional("schema", f.schema());
sb.append('}');

相关文章

微信公众号

最新文章

更多