Class XmlKeysProvider

java.lang.Object
io.micronaut.serde.xml.XmlKeysProvider
All Implemented Interfaces:
KeysProvider

@Internal public final class XmlKeysProvider extends Object implements KeysProvider
Precomputes XML property layout from reusable key descriptors.
Since:
3.2
  • Constructor Details

    • XmlKeysProvider

      public XmlKeysProvider()
  • Method Details

    • keysType

      public Class<?> keysType()
      Description copied from interface: KeysProvider
      The contribution type supplied by this provider.
      Specified by:
      keysType in interface KeysProvider
      Returns:
      The contribution type
    • create

      public Object[] create(List<String> keys)
      Description copied from interface: KeysProvider
      Create backend-specific data for the supplied keys. The returned value must be safe to reuse across encoder and decoder instances.
      Specified by:
      create in interface KeysProvider
      Parameters:
      keys - The keys
      Returns:
      The backend-specific data
    • create

      public Object[] create(List<String> keys, boolean caseInsensitive)
      Description copied from interface: KeysProvider
      Create backend-specific data for the supplied keys. The returned value must be safe to reuse across encoder and decoder instances.
      Specified by:
      create in interface KeysProvider
      Parameters:
      keys - The keys
      caseInsensitive - Whether key matching should be case-insensitive
      Returns:
      The backend-specific data
    • createWithMetadata

      public Object[] createWithMetadata(List<KeyDescriptor> keys, boolean caseInsensitive)
      Description copied from interface: KeysProvider
      Create backend-specific data for keys with pre-resolved serde configuration.

      The default implementation preserves compatibility with providers that only need key names.

      Specified by:
      createWithMetadata in interface KeysProvider
      Parameters:
      keys - The key descriptors
      caseInsensitive - Whether key matching should be case-insensitive
      Returns:
      The backend-specific data