Class DefaultMetadataExtractor
java.lang.Object
org.springframework.messaging.rsocket.DefaultMetadataExtractor
- All Implemented Interfaces:
- MetadataExtractor,- MetadataExtractorRegistry
public class DefaultMetadataExtractor
extends Object
implements MetadataExtractor, MetadataExtractorRegistry
Default 
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.
- Since:
- 5.2
- Author:
- Rossen Stoyanchev
- 
Field SummaryFields inherited from interface org.springframework.messaging.rsocket.MetadataExtractorROUTE_KEY
- 
Constructor SummaryConstructorsConstructorDescriptionDefaultMetadataExtractor(List<Decoder<?>> decoders) Constructor with list of decoders for de-serializing metadata entries.DefaultMetadataExtractor(Decoder<?>... decoders) Constructor with decoders for de-serializing metadata entries.
- 
Method SummaryModifier and TypeMethodDescriptionExtract a map of values from the givenPayloadmetadata.Return a read-only list with the configured decoders.<T> voidmetadataToExtract(MimeType mimeType, Class<T> targetType, BiConsumer<T, Map<String, Object>> mapper) Variant ofMetadataExtractorRegistry.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> voidmetadataToExtract(MimeType mimeType, ParameterizedTypeReference<T> type, BiConsumer<T, Map<String, Object>> mapper) Variant ofMetadataExtractorRegistry.metadataToExtract(MimeType, Class, BiConsumer)that acceptsParameterizedTypeReferenceinstead ofClassfor specifying a target type with generic parameters.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.messaging.rsocket.MetadataExtractorRegistrymetadataToExtract, metadataToExtract
- 
Constructor Details- 
DefaultMetadataExtractorConstructor with decoders for de-serializing metadata entries.
- 
DefaultMetadataExtractor
 
- 
- 
Method Details- 
getDecoders
- 
metadataToExtractpublic <T> void metadataToExtract(MimeType mimeType, Class<T> targetType, BiConsumer<T, Map<String, Object>> mapper) Description copied from interface:MetadataExtractorRegistryVariant ofMetadataExtractorRegistry.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.- Specified by:
- metadataToExtractin interface- MetadataExtractorRegistry
- Type Parameters:
- T- the target value type
- Parameters:
- mimeType- the mime type of metadata entries to extract
- targetType- the target value type to decode to
- mapper- custom logic to add the decoded value to the output map
 
- 
metadataToExtractpublic <T> void metadataToExtract(MimeType mimeType, ParameterizedTypeReference<T> type, BiConsumer<T, Map<String, Object>> mapper) Description copied from interface:MetadataExtractorRegistryVariant ofMetadataExtractorRegistry.metadataToExtract(MimeType, Class, BiConsumer)that acceptsParameterizedTypeReferenceinstead ofClassfor specifying a target type with generic parameters.- Specified by:
- metadataToExtractin interface- MetadataExtractorRegistry
- Type Parameters:
- T- the target value type
- Parameters:
- mimeType- the mime type of metadata entries to extract
- type- the target value type to decode to
- mapper- custom logic to add the decoded value to the output map
 
- 
extractDescription copied from interface:MetadataExtractorExtract a map of values from the givenPayloadmetadata. The Payload "route", if present, should be saved underMetadataExtractor.ROUTE_KEY.- Specified by:
- extractin interface- MetadataExtractor
- Parameters:
- payload- the payload whose metadata should be read
- metadataMimeType- the metadata MimeType for the connection.
- Returns:
- name values pairs extracted from the metadata
 
 
-