public boolean equals(MapType mt, Value v) { if (map.size() != v.map.size()) return false; // We use the fact that we know the maps iteration will both be in comparator order Iterator<Map.Entry<ByteBuffer, ByteBuffer>> thisIter = map.entrySet().iterator(); Iterator<Map.Entry<ByteBuffer, ByteBuffer>> thatIter = v.map.entrySet().iterator(); while (thisIter.hasNext()) { Map.Entry<ByteBuffer, ByteBuffer> thisEntry = thisIter.next(); Map.Entry<ByteBuffer, ByteBuffer> thatEntry = thatIter.next(); if (mt.getKeysType().compare(thisEntry.getKey(), thatEntry.getKey()) != 0 || mt.getValuesType().compare(thisEntry.getValue(), thatEntry.getValue()) != 0) return false; } return true; } }
private int compareMapType(MapType<?, ?> type, MapType<?, ?> otherType) { int test = compare(type.getKeysType(), otherType.getKeysType()); return test != 0 ? test : compare(type.getValuesType(), otherType.getValuesType()); }
private int compareMapType(MapType<?, ?> type, MapType<?, ?> otherType) { int test = compare(type.getKeysType(), otherType.getKeysType()); return test != 0 ? test : compare(type.getValuesType(), otherType.getValuesType()); }
private int compareMapType(MapType<?, ?> type, MapType<?, ?> otherType) { int test = compare(type.getKeysType(), otherType.getKeysType()); return test != 0 ? test : compare(type.getValuesType(), otherType.getValuesType()); }
@Override public boolean referencesUserType(String userTypeName) { return getKeysType().referencesUserType(userTypeName) || getValuesType().referencesUserType(userTypeName); }
@Override public boolean referencesUserType(String userTypeName) { return getKeysType().referencesUserType(userTypeName) || getValuesType().referencesUserType(userTypeName); }
@Override public boolean referencesUserType(String userTypeName) { return getKeysType().referencesUserType(userTypeName) || getValuesType().referencesUserType(userTypeName); }
@Override public boolean referencesUserType(String userTypeName) { return getKeysType().referencesUserType(userTypeName) || getValuesType().referencesUserType(userTypeName); }
public static ColumnSpecification keySpecOf(ColumnSpecification column) { return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("key(" + column.name + ")", true), ((MapType)column.type).getKeysType()); }
public static ColumnSpecification keySpecOf(ColumnSpecification column) { return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("key(" + column.name + ")", true), ((MapType)column.type).getKeysType()); }
public static ColumnSpecification keySpecOf(ColumnSpecification column) { return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("key(" + column.name + ")", true), ((MapType)column.type).getKeysType()); }
public static ColumnSpecification keySpecOf(ColumnSpecification column) { return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("key(" + column.name + ")", true), ((MapType)column.type).getKeysType()); }
public static ColumnSpecification keySpecOf(ColumnSpecification column) { return new ColumnSpecification(column.ksName, column.cfName, new ColumnIdentifier("key(" + column.name + ")", true), ((MapType)column.type).getKeysType()); }
public static Value fromSerialized(ByteBuffer value, MapType type, ProtocolVersion version) throws InvalidRequestException { try { // Collections have this small hack that validate cannot be called on a serialized object, // but compose does the validation (so we're fine). Map<?, ?> m = type.getSerializer().deserializeForNativeProtocol(value, version); Map<ByteBuffer, ByteBuffer> map = new LinkedHashMap<>(m.size()); for (Map.Entry<?, ?> entry : m.entrySet()) map.put(type.getKeysType().decompose(entry.getKey()), type.getValuesType().decompose(entry.getValue())); return new Value(map); } catch (MarshalException e) { throw new InvalidRequestException(e.getMessage()); } }
public static Value fromSerialized(ByteBuffer value, MapType type, ProtocolVersion version) throws InvalidRequestException { try { // Collections have this small hack that validate cannot be called on a serialized object, // but compose does the validation (so we're fine). Map<?, ?> m = type.getSerializer().deserializeForNativeProtocol(value, version); Map<ByteBuffer, ByteBuffer> map = new LinkedHashMap<>(m.size()); for (Map.Entry<?, ?> entry : m.entrySet()) map.put(type.getKeysType().decompose(entry.getKey()), type.getValuesType().decompose(entry.getValue())); return new Value(map); } catch (MarshalException e) { throw new InvalidRequestException(e.getMessage()); } }
private void generateMapCQLLiteral(ByteBuffer buffer, ProtocolVersion version, StringBuilder target, int size) { CQL3Type keys = ((MapType) type).getKeysType().asCQL3Type(); CQL3Type values = ((MapType) type).getValuesType().asCQL3Type(); for (int i = 0; i < size; i++) { if (i > 0) target.append(", "); ByteBuffer element = CollectionSerializer.readValue(buffer, version); target.append(keys.toCQLLiteral(element, version)); target.append(": "); element = CollectionSerializer.readValue(buffer, version); target.append(values.toCQLLiteral(element, version)); } }
private void generateMapCQLLiteral(ByteBuffer buffer, ProtocolVersion version, StringBuilder target, int size) { CQL3Type keys = ((MapType) type).getKeysType().asCQL3Type(); CQL3Type values = ((MapType) type).getValuesType().asCQL3Type(); for (int i = 0; i < size; i++) { if (i > 0) target.append(", "); ByteBuffer element = CollectionSerializer.readValue(buffer, version); target.append(keys.toCQLLiteral(element, version)); target.append(": "); element = CollectionSerializer.readValue(buffer, version); target.append(values.toCQLLiteral(element, version)); } }
private void generateMapCQLLiteral(ByteBuffer buffer, ProtocolVersion version, StringBuilder target, int size) { CQL3Type keys = ((MapType) type).getKeysType().asCQL3Type(); CQL3Type values = ((MapType) type).getValuesType().asCQL3Type(); for (int i = 0; i < size; i++) { if (i > 0) target.append(", "); ByteBuffer element = CollectionSerializer.readValue(buffer, version); target.append(keys.toCQLLiteral(element, version)); target.append(": "); element = CollectionSerializer.readValue(buffer, version); target.append(values.toCQLLiteral(element, version)); } }
private void generateMapCQLLiteral(ByteBuffer buffer, ProtocolVersion version, StringBuilder target, int size) { CQL3Type keys = ((MapType) type).getKeysType().asCQL3Type(); CQL3Type values = ((MapType) type).getValuesType().asCQL3Type(); for (int i = 0; i < size; i++) { if (i > 0) target.append(", "); ByteBuffer element = CollectionSerializer.readValue(buffer, version); target.append(keys.toCQLLiteral(element, version)); target.append(": "); element = CollectionSerializer.readValue(buffer, version); target.append(values.toCQLLiteral(element, version)); } }
public CFRowAdder addMapEntry(String cql3ColumnName, Object key, Object value) { ColumnDefinition def = getDefinition(cql3ColumnName); assert def.type instanceof MapType; MapType mt = (MapType)def.type; CellName name = cf.getComparator().create(prefix, def, mt.getKeysType().decompose(key)); return add(name, def, value); }