/** * Checks if another object is equal to this set. * * @param o the object to check for equality with * @return true if o is an instance of WeightedSet and the two encapsulated Maps are equal, false otherwise */ public boolean equals(Object o) { if (!(o instanceof MapFieldValue)) return false; return super.equals(o) && entrySet().equals(((MapFieldValue) o).entrySet()); }
Map<K, Integer> getPrimitiveMap() { Map<K, Integer> retVal = new LinkedHashMap<>(); for (Entry<K, IntegerFieldValue> entry : map.entrySet()) { retVal.put(entry.getKey(), entry.getValue().getInteger()); } return retVal; }
/** * Uses toString() from the encapsulated Map. * * @return the toString() of this set */ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("WeightedSet(").append(getDataType()); for (Map.Entry entry : map.entrySet()) { sb.append("\n key: ").append(entry.getKey().getClass()).append(": ").append(entry.getKey()); sb.append("\n value: ").append(entry.getValue().getClass()).append(": ").append(entry.getValue()); } return sb.append("\n)").toString(); }
public static <K extends FieldValue, V extends FieldValue> void serializeMapField(FieldWriter fieldWriter, JsonGenerator generator, FieldBase field, MapFieldValue<K, V> map) { fieldNameIfNotNull(generator, field); wrapIOException(() -> { generator.writeStartObject(); for (Map.Entry<K, V> entry : map.entrySet()) { K key = entry.getKey(); DataType keyType = key.getDataType(); if ( ! (keyType instanceof PrimitiveDataType)) { throw new IllegalArgumentException("Can't use complex types as keys for map fields. Type: " + keyType); } generator.writeFieldName(key.toString()); entry.getValue().serialize(null, fieldWriter); } generator.writeEndObject(); }); }
public <K extends FieldValue, V extends FieldValue> void write(FieldBase field, MapFieldValue<K, V> map) { buf.putInt1_2_4Bytes(map.size()); for (Map.Entry<K, V> e : map.entrySet()) { e.getKey().serialize(this); e.getValue().serialize(this); } }
public <K extends FieldValue, V extends FieldValue> void write(FieldBase field, MapFieldValue<K, V> map) { buf.putInt1_2_4Bytes(map.size()); for (Map.Entry<K, V> e : map.entrySet()) { e.getKey().serialize(this); e.getValue().serialize(this); } }
@Override public int compareTo(FieldValue fieldValue) { int comp = super.compareTo(fieldValue); if (comp != 0) { return comp; } //types are equal, this must be of this type MapFieldValue<K,V> rhs = (MapFieldValue<K,V>) fieldValue; if (size() < rhs.size()) { return -1; } else if (size() > rhs.size()) { return 1; } Map.Entry<K,V> [] entries = entrySet().toArray(new Map.Entry[size()]); Map.Entry<K,V> [] rhsEntries = rhs.entrySet().toArray(new Map.Entry[rhs.size()]); Arrays.sort(entries, Comparator.comparing(Map.Entry<K,V>::getKey)); Arrays.sort(rhsEntries, Comparator.comparing(Map.Entry<K,V>::getKey)); for (int i = 0; i < entries.length; i++) { comp = entries[i].getKey().compareTo(rhsEntries[i].getKey()); if (comp != 0) return comp; comp = entries[i].getValue().compareTo(rhsEntries[i].getValue()); if (comp != 0) return comp; } return 0; }
public static <K extends FieldValue, V extends FieldValue> void printMapXml(MapFieldValue<K, V> map, XmlStream xml) { for (Map.Entry<K, V> e : map.entrySet()) { FieldValue key = e.getKey(); FieldValue val = e.getValue(); xml.beginTag("item"); xml.beginTag("key"); key.printXml(xml); xml.endTag(); xml.beginTag("value"); val.printXml(xml); xml.endTag(); xml.endTag(); } }
Map<FieldValue, FieldValue> next = new LinkedHashMap<FieldValue, FieldValue>(); DataType nextKeyType = null, nextValType = null; for (Map.Entry<FieldValue, FieldValue> entry : val.entrySet()) { FieldValue prevKey = entry.getKey(); FieldValue nextKey = convert(prevKey);
for (Map.Entry<FieldValue, FieldValue> entry : map.entrySet()) { List<FieldPathEntry> nextPath = new ArrayList<>(path); FieldValue nextVal = entry.getValue();