# Interface CAI1MetadataElementMatch

All Superinterfaces:
  `com.io7m.cedarbridge.runtime.api.CBSerializableType`

All Known Implementing Classes:
  `CAI1MetadataElementMatch.And`, `CAI1MetadataElementMatch.Or`, `CAI1MetadataElementMatch.Specific`

public sealed interface CAI1MetadataElementMatch extends com.io7m.cedarbridge.runtime.api.CBSerializableType permits CAI1MetadataElementMatch.And, CAI1MetadataElementMatch.Or, CAI1MetadataElementMatch.Specific
An expression against which item metadata is matched.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static final record`
  `CAI1MetadataElementMatch.And`
  `static final record`
  `CAI1MetadataElementMatch.Or`
  `static final record`
  `CAI1MetadataElementMatch.Specific`

- ## Method Summary

  Static Methods
  Modifier and Type
  Method
  Description
  `static CAI1MetadataElementMatch`
  `deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context)`
  Deserialize a value of type CAI1MetadataElementMatch.
  `static void`
  `serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, CAI1MetadataElementMatch $x)`
  Serialize a value of type CAI1MetadataElementMatch.

- ## Method Details

  - ### serialize

    static void serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, CAI1MetadataElementMatch $x) throws IOException
    Serialize a value of type CAI1MetadataElementMatch.
    Parameters:
      `$context` - The serialization context.
      `$x` - The value to be serialized.
    Throws:
      `IOException`

  - ### deserialize

    static CAI1MetadataElementMatch deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context) throws IOException
    Deserialize a value of type CAI1MetadataElementMatch.
    Parameters:
      `$context` - The serialization context.
    Returns:
      A value of type CAI1MetadataElementMatch.
    Throws:
      `IOException`