/** * Add a key with an associated weight to this set. If the key is already present in this set, the previous * association is replaced. * * @param key the key to add * @param weight the weight to associate with this key * @return the weight that was previously associated with this key, or null (if there was no previous key) */ public IntegerFieldValue putUnChecked(K key, IntegerFieldValue weight) { return map.put(key, weight); }
public <K extends FieldValue, V extends FieldValue> void read(FieldBase field, MapFieldValue<K, V> map) { try { MapDataType dt = map.getDataType(); while (reader.hasNext()) { int type = reader.next(); if (type == XMLStreamReader.START_ELEMENT) { if ("item".equals(reader.getName().toString())) { KeyAndValue kv = new KeyAndValue(); readKeyAndValue(field, kv, dt); if (kv.key == null || kv.value == null) { throw newDeserializeException(field, "Map items must specify both key and value"); } // noinspection unchecked map.put((K)kv.key, (V)kv.value); skipToEnd("item"); } else { throw newDeserializeException(field, "Illegal tag " + reader.getName() + " expected 'item'"); } } else if (type == XMLStreamReader.END_ELEMENT) { return; } } } catch (XMLStreamException e) { throw newException(field, e); } }
ret.put(entry.getKey(), entry.getValue());
FieldPathIteratorHandler.ModificationStatus status = val.iterateNested(fieldPath, pos + 1, handler); if (status == FieldPathIteratorHandler.ModificationStatus.MODIFIED) { put((K)fieldPath.get(pos).getLookupKey(), (V)val); return status;
@SuppressWarnings({ "rawtypes", "cast", "unchecked" }) public static void fillMapFromArray(TokenBuffer buffer, MapFieldValue parent) { JsonToken token = buffer.currentToken(); int initNesting = buffer.nesting(); expectArrayStart(token); token = buffer.next(); DataType keyType = parent.getDataType().getKeyType(); DataType valueType = parent.getDataType().getValueType(); while (buffer.nesting() >= initNesting) { FieldValue key = null; FieldValue value = null; expectObjectStart(token); token = buffer.next(); for (int i = 0; i < 2; ++i) { if (MAP_KEY.equals(buffer.currentName())) { key = readSingleValue(buffer, keyType); } else if (MAP_VALUE.equals(buffer.currentName())) { value = readSingleValue(buffer, valueType); } token = buffer.next(); } Preconditions.checkState(key != null && value != null, "Missing key or value for map entry."); parent.put(key, value); expectObjectEnd(token); token = buffer.next(); // array end or next entry } }
@SuppressWarnings({ "rawtypes", "cast", "unchecked" }) public static void fillMapFromObject(TokenBuffer buffer, MapFieldValue parent) { JsonToken token = buffer.currentToken(); int initNesting = buffer.nesting(); expectObjectStart(token); token = buffer.next(); DataType keyType = parent.getDataType().getKeyType(); DataType valueType = parent.getDataType().getValueType(); while (buffer.nesting() >= initNesting) { FieldValue key = readAtomic(buffer.currentName(), keyType); FieldValue value = readSingleValue(buffer, valueType); Preconditions.checkState(key != null && value != null, "Missing key or value for map entry."); parent.put(key, value); token = buffer.next(); } expectObjectEnd(token); }