public class DefaultMetadataExtractor extends Object implements MetadataExtractor, MetadataExtractorRegistry
MetadataExtractor implementation that relies on
 Decoders to deserialize the content of metadata entries.
 By default only "message/x.rsocket.routing.v0"" is extracted and
 saved under MetadataExtractor.ROUTE_KEY. Use metadataToExtract
 methods to specify other metadata mime types of interest to extract.
ROUTE_KEY| Constructor and Description | 
|---|
DefaultMetadataExtractor(Decoder<?>... decoders)
Constructor with decoders for de-serializing metadata entries. 
 | 
DefaultMetadataExtractor(List<Decoder<?>> decoders)
Constructor with list of decoders for de-serializing metadata entries. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Map<String,Object> | 
extract(io.rsocket.Payload payload,
       MimeType metadataMimeType)
Extract a map of values from the given  
Payload metadata. | 
List<? extends Decoder<?>> | 
getDecoders()
Return a read-only list with the configured decoders. 
 | 
<T> void | 
metadataToExtract(MimeType mimeType,
                 Class<T> targetType,
                 BiConsumer<T,Map<String,Object>> mapper)
Variant of  
MetadataExtractorRegistry.metadataToExtract(MimeType, Class, String) that allows
 custom logic to be used to map the decoded value to any number of values
 in the output map. | 
<T> void | 
metadataToExtract(MimeType mimeType,
                 ParameterizedTypeReference<T> type,
                 BiConsumer<T,Map<String,Object>> mapper)
Variant of  
MetadataExtractorRegistry.metadataToExtract(MimeType, Class, BiConsumer) that
 accepts ParameterizedTypeReference instead of Class for
 specifying a target type with generic parameters. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmetadataToExtract, metadataToExtractpublic DefaultMetadataExtractor(Decoder<?>... decoders)
public List<? extends Decoder<?>> getDecoders()
public <T> void metadataToExtract(MimeType mimeType, Class<T> targetType, BiConsumer<T,Map<String,Object>> mapper)
MetadataExtractorRegistryMetadataExtractorRegistry.metadataToExtract(MimeType, Class, String) that allows
 custom logic to be used to map the decoded value to any number of values
 in the output map.metadataToExtract in interface MetadataExtractorRegistryT - the target value typemimeType - the mime type of metadata entries to extracttargetType - the target value type to decode tomapper - custom logic to add the decoded value to the output mappublic <T> void metadataToExtract(MimeType mimeType, ParameterizedTypeReference<T> type, BiConsumer<T,Map<String,Object>> mapper)
MetadataExtractorRegistryMetadataExtractorRegistry.metadataToExtract(MimeType, Class, BiConsumer) that
 accepts ParameterizedTypeReference instead of Class for
 specifying a target type with generic parameters.metadataToExtract in interface MetadataExtractorRegistryT - the target value typemimeType - the mime type of metadata entries to extracttype - the target value type to decode tomapper - custom logic to add the decoded value to the output mappublic Map<String,Object> extract(io.rsocket.Payload payload, MimeType metadataMimeType)
MetadataExtractorPayload metadata.
 The Payload "route", if present, should be saved under MetadataExtractor.ROUTE_KEY.extract in interface MetadataExtractorpayload - the payload whose metadata should be readmetadataMimeType - the metadata MimeType for the connection.