java.lang.Object
org.wildfly.clustering.marshalling.protostream.util.StringKeyMapMarshaller<V,T>
- Type Parameters:
V- the map value typeT- the map type
- All Implemented Interfaces:
org.infinispan.protostream.BaseMarshaller<T>, org.infinispan.protostream.ProtobufTagMarshaller<T>, Marshallable<T>, ProtoStreamMarshaller<T>, Readable<T>, Writable<T>
public class StringKeyMapMarshaller<V, T extends Map<String,V>>
extends Object
implements ProtoStreamMarshaller<T>
An optimized marshaller for a
Map whose keys are strings.- Author:
- Paul Ferraro
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.protostream.ProtobufTagMarshaller
org.infinispan.protostream.ProtobufTagMarshaller.OperationContext, org.infinispan.protostream.ProtobufTagMarshaller.ReadContext, org.infinispan.protostream.ProtobufTagMarshaller.WriteContext -
Field Summary
Fields inherited from interface org.infinispan.protostream.BaseMarshaller
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the type of object handled by this marshallable instance.readFrom(ProtoStreamReader reader) Reads an object from the specified reader.voidwriteTo(ProtoStreamWriter writer, T map) Writes the specified object to the specified writer.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.infinispan.protostream.BaseMarshaller
getSubClassNamesMethods inherited from interface Marshallable
sizeMethods inherited from interface ProtoStreamMarshaller
getTypeName, read, wrap, wrap, write
-
Constructor Details
-
StringKeyMapMarshaller
public StringKeyMapMarshaller(Supplier<T> factory, Function<T, Set<String>> keys, BiFunction<T, String, V> value, BiConsumer<T, Map.Entry<String, V>> accumulator) Creates a marshaller for a string-keyed map.- Parameters:
factory- the map factorykeys- a function returning the keys of the mapvalue- a function returning the value for a given keyaccumulator- an accumulator of read entries
-
-
Method Details
-
getJavaClass
Description copied from interface:MarshallableReturns the type of object handled by this marshallable instance.- Specified by:
getJavaClassin interfaceorg.infinispan.protostream.BaseMarshaller<V>- Specified by:
getJavaClassin interfaceMarshallable<V>- Returns:
- the type of object handled by this marshallable instance.
-
readFrom
Description copied from interface:ReadableReads an object from the specified reader.- Specified by:
readFromin interfaceReadable<V>- Parameters:
reader- a ProtoStream reader- Returns:
- the read object
- Throws:
IOException- if the object could not be read
-
writeTo
Description copied from interface:WritableWrites the specified object to the specified writer.- Specified by:
writeToin interfaceWritable<V>- Parameters:
writer- a ProtoStream writermap- the object to be written- Throws:
IOException- if the object could not be written
-