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(Payload payload,
       MimeType metadataMimeType)Extract a map of values from the given  Payloadmetadata. | 
| 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
 acceptsParameterizedTypeReferenceinstead ofClassfor
 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(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.