com.datastax.driver.core.TypeCodec.getJavaType()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(124)

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

TypeCodec.getJavaType介绍

[英]Return the Java type that this codec deserializes to and serializes from.
[中]返回此编解码器反序列化到并从中序列化的Java类型。

代码示例

代码示例来源:origin: apache/nifi

TypeCodec firstCodec = codecRegistry.codecFor(firstArg);
if (dataType.equals(DataType.set(firstArg))) {
  return row.getSet(i, firstCodec.getJavaType());
} else if (dataType.equals(DataType.list(firstArg))) {
  return row.getList(i, firstCodec.getJavaType());
} else {
  TypeCodec secondCodec = codecRegistry.codecFor(secondArg);
  if (dataType.equals(DataType.map(firstArg, secondArg))) {
    return row.getMap(i, firstCodec.getJavaType(), secondCodec.getJavaType());

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@SuppressWarnings("unchecked")
 TypeMapping(TypeCodec<T> codec, DataType outerType, T value) {
  this.codec = codec;
  this.javaType = (TypeToken<Object>) codec.getJavaType();
  this.outerType = outerType;
  this.value = value;
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

protected AbstractMapCodec(TypeCodec<K> keyCodec, TypeCodec<V> valueCodec) {
 super(
   DataType.map(keyCodec.getCqlType(), valueCodec.getCqlType()),
   TypeTokens.mapOf(keyCodec.getJavaType(), valueCodec.getJavaType()));
 this.keyCodec = keyCodec;
 this.valueCodec = valueCodec;
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

private SetCodec(TypeCodec<T> eltCodec) {
 super(DataType.set(eltCodec.cqlType), TypeTokens.setOf(eltCodec.getJavaType()), eltCodec);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public ByteBuffer serialize(C value, ProtocolVersion protocolVersion) {
 if (value == null) return null;
 int i = 0;
 ByteBuffer[] bbs = new ByteBuffer[value.size()];
 for (E elt : value) {
  if (elt == null) {
   throw new NullPointerException("Collection elements cannot be null");
  }
  ByteBuffer bb;
  try {
   bb = eltCodec.serialize(elt, protocolVersion);
  } catch (ClassCastException e) {
   throw new InvalidTypeException(
     String.format(
       "Invalid type for %s element, expecting %s but got %s",
       cqlType, eltCodec.getJavaType(), elt.getClass()),
     e);
  }
  bbs[i++] = bb;
 }
 return CodecUtils.pack(bbs, value.size(), protocolVersion);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

String.format(
  "Invalid type for map key, expecting %s but got %s",
  keyCodec.getJavaType(), key.getClass()),
e);
String.format(
  "Invalid type for map value, expecting %s but got %s",
  valueCodec.getJavaType(), v.getClass()),
e);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

private ListCodec(TypeCodec<T> eltCodec) {
 super(
   DataType.list(eltCodec.getCqlType()),
   TypeTokens.listOf(eltCodec.getJavaType()),
   eltCodec);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
protected String formatField(TupleValue value, int index) {
 DataType elementType = definition.getComponentTypes().get(index);
 TypeCodec<Object> codec = definition.getCodecRegistry().codecFor(elementType);
 return codec.format(value.get(index, codec.getJavaType()));
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

private <T> TypeCodec<T> mockCodec(DataType cqlType, TypeToken<T> javaType) {
  @SuppressWarnings("unchecked")
  TypeCodec<T> newCodec = mock(TypeCodec.class);
  when(newCodec.getCqlType()).thenReturn(cqlType);
  when(newCodec.getJavaType()).thenReturn(javaType);
  when(newCodec.accepts(cqlType)).thenReturn(true);
  when(newCodec.accepts(javaType)).thenReturn(true);
  when(newCodec.toString()).thenReturn(String.format("MockCodec [%s <-> %s]", cqlType, javaType));
  return newCodec;
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
 protected TupleValue parseAndSetField(String input, TupleValue target, int index) {
  DataType elementType = definition.getComponentTypes().get(index);
  TypeCodec<Object> codec = definition.getCodecRegistry().codecFor(elementType);
  target.set(index, codec.parse(input), codec.getJavaType());
  return target;
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

if (oldCodec.accepts(newCodec.getCqlType()) && oldCodec.accepts(newCodec.getJavaType())) {
  logger.warn(
    "Ignoring codec {} because it collides with previously registered codec {}",
 if (oldCodec.accepts(newCodec.getCqlType()) && oldCodec.accepts(newCodec.getJavaType())) {
  logger.warn(
    "Ignoring codec {} because it collides with previously registered codec {}",
CacheKey key = new CacheKey(newCodec.getCqlType(), newCodec.getJavaType());
TypeCodec<?> existing = cache.getIfPresent(key);
if (existing != null) {

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

protected NumberBoxCodec(TypeCodec<T> numberCodec) {
 // @formatter:off
 super(
   numberCodec.getCqlType(),
   new TypeToken<NumberBox<T>>() {}.where(
     new TypeParameter<T>() {}, numberCodec.getJavaType()));
 // @formatter:on
 this.numberCodec = numberCodec;
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
protected String formatField(UDTValue source, String fieldName) {
 DataType elementType = definition.getFieldType(fieldName);
 TypeCodec<Object> codec = definition.getCodecRegistry().codecFor(elementType);
 return codec.format(source.get(fieldName, codec.getJavaType()));
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
 protected UDTValue parseAndSetField(String input, UDTValue target, String fieldName) {
  DataType elementType = definition.getFieldType(fieldName);
  TypeCodec<Object> codec = definition.getCodecRegistry().codecFor(elementType);
  target.set(fieldName, codec.parse(input), codec.getJavaType());
  return target;
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

assertThat(row.getList("l", mapping.codec.getJavaType())).isEqualTo(list);
assertThat(row.getMap("m", mapping.codec.getJavaType(), mapping.codec.getJavaType()))
  .isEqualTo(map);
assertThat(row.getList(1, mapping.codec.getJavaType())).isEqualTo(list);
assertThat(row.getMap(2, mapping.codec.getJavaType(), mapping.codec.getJavaType()))
  .isEqualTo(map);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

case LIST:
 Class<?> listEltClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 return data.getList(name, listEltClass);
case SET:
 Class<?> setEltClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 return data.getSet(name, setEltClass);
case MAP:
 Class<?> keyClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 Class<?> valueClass =
   codecRegistry.codecFor(type.getTypeArguments().get(1)).getJavaType().getRawType();
 return data.getMap(name, keyClass, valueClass);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

case LIST:
 Class<?> listEltClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 return data.getList(i, listEltClass);
case SET:
 Class<?> setEltClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 return data.getSet(i, setEltClass);
case MAP:
 Class<?> keyClass =
   codecRegistry.codecFor(type.getTypeArguments().get(0)).getJavaType().getRawType();
 Class<?> valueClass =
   codecRegistry.codecFor(type.getTypeArguments().get(1)).getJavaType().getRawType();
 return data.getMap(i, keyClass, valueClass);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

case LIST:
 return data.getList(
   0, codecRegistry.codecFor(dataType.getTypeArguments().get(0)).getJavaType());
case SET:
 return data.getSet(
   0, codecRegistry.codecFor(dataType.getTypeArguments().get(0)).getJavaType());
case MAP:
 return data.getMap(
   0,
   codecRegistry.codecFor(dataType.getTypeArguments().get(0)).getJavaType(),
   codecRegistry.codecFor(dataType.getTypeArguments().get(1)).getJavaType());
case DURATION:
 return data.get(0, Duration.class);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

TypeCodec<List<A>> actual = codecRegistry.codecFor(list(cint()), LIST_OF_A_TOKEN);
assertThat(actual.getCqlType()).isEqualTo(expected.getCqlType());
assertThat(actual.getJavaType()).isEqualTo(expected.getJavaType());
TypeCodec<List<B>> actualB = codecRegistry.codecFor(list(cint()), LIST_OF_B_TOKEN);
assertThat(actualB.getCqlType()).isEqualTo(expectedB.getCqlType());
assertThat(actualB.getJavaType()).isEqualTo(expectedB.getJavaType());

代码示例来源:origin: jsevellec/cassandra-unit

public static ByteBuffer serialize(TypeCodec<?> codec, ProtocolVersion protocolVersion, Object value)
{
  if (!codec.getJavaType().getRawType().isAssignableFrom(value.getClass()))
    throw new InvalidTypeException("Invalid value for CQL type " + codec.getCqlType().getName().toString());
  return ((TypeCodec)codec).serialize(value, com.datastax.driver.core.ProtocolVersion.fromInt(protocolVersion.asInt()));
}

相关文章