@Encoding.Naming(standard = Encoding.StandardNaming.PUT) @Encoding.Init void put( final K key, final V value) { this.map = this.map.put(key, value); }
@Encoding.Naming(value = "putEntry*", depluralize = true) @Encoding.Init void putEntry( final Tuple2<K, V> entry) { this.map = this.map.put(entry); }
/** * @return The packed attributes by octet offset */ @Value.Derived default SortedMap<Integer, SMFByteBufferPackedAttribute> packedAttributesByOffset() { TreeMap<Integer, SMFByteBufferPackedAttribute> output = TreeMap.empty(); final Seq<SMFAttribute> ordered = this.attributesOrdered(); int offset = 0; for (int index = 0; index < ordered.size(); ++index) { final SMFAttribute attr = ordered.get(index); final SMFByteBufferPackedAttribute packed = SMFByteBufferPackedAttribute.of(attr, index, offset); output = output.put(Integer.valueOf(offset), packed); offset = Math.addExact(offset, attr.sizeOctets()); } return output; }
@Override public Optional<SMFParserEventsDataAttributeValuesType> onDataAttributeStart( final SMFAttribute attribute) { TreeMap<Integer, SMFByteBufferAttributePacker> packers = TreeMap.empty(); final SMFAttributeName name = attribute.name(); for (final Tuple2<Integer, SMFByteBufferPackingConfiguration> p : this.config) { final Integer id = p._1; final SMFByteBufferPackingConfiguration bc = p._2; final SortedMap<SMFAttributeName, SMFByteBufferPackedAttribute> by_name = bc.packedAttributesByName(); if (by_name.containsKey(name)) { final ByteBuffer b = this.attr_buffers.get(id).get(); final SMFByteBufferPackedAttribute pa = by_name.get(name).get(); final SMFByteBufferAttributePacker packer = new SMFByteBufferAttributePacker( this, b, bc, pa, this.header.vertexCount()); packers = packers.put(id, packer); } } this.attr_packers = packers; return Optional.of(this); }