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

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

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

TypeCodec.serialize介绍

[英]Serialize the given value according to the CQL type handled by this codec.

Implementation notes:

  1. Null values should be gracefully handled and no exception should be raised; these should be considered as the equivalent of a NULL CQL value;
  2. Codecs for CQL collection types should not permit null elements;
  3. Codecs for CQL collection types should treat a null input as the equivalent of an empty collection.
    [中]根据此编解码器处理的CQL类型序列化给定值。
    实施说明:
    1.空值应妥善处理,不应引发异常;这些应被视为等同于空CQL值;
    1.CQL集合类型的编解码器不应允许空元素;
    1.CQL集合类型的编解码器应将空输入视为空集合的等价物。

代码示例

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

public List<ByteBuffer> getRoutingKeys(ITuple tuple) {
    List<ByteBuffer> keys = new ArrayList<>(routingKeys.size());
    for (String s : routingKeys) {
      Object value = tuple.getValueByField(s);
      ByteBuffer serialized = CodecRegistry.DEFAULT_INSTANCE.codecFor(value).serialize(value, ProtocolVersion.NEWEST_SUPPORTED);
      keys.add(serialized);
    }
    return keys;
  }
}

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

@Override
@SuppressWarnings("unchecked")
public <E> T setList(int i, List<E> v) {
 return setValue(i, codecFor(i).serialize(v, protocolVersion));
}

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

@Override
@SuppressWarnings("unchecked")
public <K, V> T setMap(int i, Map<K, V> v) {
 return setValue(i, codecFor(i).serialize(v, protocolVersion));
}

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

@Override
@SuppressWarnings("unchecked")
public <E> T setSet(int i, Set<E> v) {
 return setValue(i, codecFor(i).serialize(v, protocolVersion));
}

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

@Override
@SuppressWarnings("unchecked")
public <E> T setList(int i, List<E> v) {
 return setValue(i, codecFor(i).serialize(v, protocolVersion));
}

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

@Override
public T setLong(int i, long v) {
 TypeCodec<Long> codec = codecFor(i, Long.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveLongCodec)
  bb = ((TypeCodec.PrimitiveLongCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setByte(int i, byte v) {
 TypeCodec<Byte> codec = codecFor(i, Byte.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveByteCodec)
  bb = ((TypeCodec.PrimitiveByteCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setShort(int i, short v) {
 TypeCodec<Short> codec = codecFor(i, Short.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveShortCodec)
  bb = ((TypeCodec.PrimitiveShortCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setLong(int i, long v) {
 TypeCodec<Long> codec = codecFor(i, Long.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveLongCodec)
  bb = ((TypeCodec.PrimitiveLongCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setDouble(int i, double v) {
 TypeCodec<Double> codec = codecFor(i, Double.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveDoubleCodec)
  bb = ((TypeCodec.PrimitiveDoubleCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setFloat(int i, float v) {
 TypeCodec<Float> codec = codecFor(i, Float.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveFloatCodec)
  bb = ((TypeCodec.PrimitiveFloatCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setBool(int i, boolean v) {
 TypeCodec<Boolean> codec = codecFor(i, Boolean.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveBooleanCodec)
  bb = ((TypeCodec.PrimitiveBooleanCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setTime(int i, long v) {
 TypeCodec<Long> codec = codecFor(i, Long.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveLongCodec)
  bb = ((TypeCodec.PrimitiveLongCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public <K, V> T setMap(int i, Map<K, V> v, TypeToken<K> keysType, TypeToken<V> valuesType) {
 return setValue(
   i, codecFor(i, TypeTokens.mapOf(keysType, valuesType)).serialize(v, protocolVersion));
}

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

@Override
public T setByte(int i, byte v) {
 TypeCodec<Byte> codec = codecFor(i, Byte.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveByteCodec)
  bb = ((TypeCodec.PrimitiveByteCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public T setFloat(int i, float v) {
 TypeCodec<Float> codec = codecFor(i, Float.class);
 ByteBuffer bb;
 if (codec instanceof TypeCodec.PrimitiveFloatCodec)
  bb = ((TypeCodec.PrimitiveFloatCodec) codec).serializeNoBoxing(v, protocolVersion);
 else bb = codec.serialize(v, protocolVersion);
 return setValue(i, bb);
}

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

@Override
public <V> T set(int i, V v, TypeCodec<V> codec) {
 checkType(i, codec.getCqlType().getName());
 return setValue(i, codec.serialize(v, protocolVersion));
}

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

@Override
public <V> T set(int i, V v, TypeCodec<V> codec) {
 checkType(i, codec.getCqlType().getName());
 return setValue(i, codec.serialize(v, protocolVersion));
}

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

@SuppressWarnings("unchecked")
public TypeCodecAssert<T> cannotSerialize(Object value) {
 if (version == null) fail("ProtocolVersion cannot be null");
 try {
  actual.serialize((T) value, version);
  fail("Should not have been able to serialize " + value + " with " + actual);
 } catch (Exception e) {
  // ok
 }
 return this;
}

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

@Test(
  groups = "unit",
  expectedExceptions = {IllegalArgumentException.class})
public void collectionTooLargeTest() throws Exception {
 DataType cqlType = DataType.list(DataType.cint());
 List<Integer> list = Collections.nCopies(65536, 1);
 TypeCodec<List<?>> codec = codecRegistry.codecFor(cqlType);
 codec.serialize(list, ProtocolVersion.V2);
}

相关文章