📊 Dart Class Diagram

Generated by parse_mermaid_dart
classDiagram class _CipherEntry { <> 📁 ermes_peer_cipher.dart } class ErmesPeerCipher { <> 📁 ermes_peer_cipher.dart } class ErmesPeerCipherHandler { <> 📁 ermes_peer_cipher_handler.dart } class CipherException { <> 📁 exceptions.dart } class NoValidKeyException { <> 📁 exceptions.dart } class DecryptionFailedException { <> 📁 exceptions.dart } class UnsupportedAlgorithmException { <> 📁 exceptions.dart } class ECDHKeyExchangeService { <> 📁 ecdh_key_exchange_service.dart } class ECDHKeyUtilities { <> 📁 ecdh_key_utilities.dart } class ErmesPeerKeyExchange { <> 📁 ermes_peer_key_exchange.dart } class Exception { <> 📁 dart:core } class ICipher { <> <> 📁 external_library } class Digest { <> <> 📁 external_library } class IErmesPeerCipher { <> <> 📁 external_library } class DataEncrypted { <> <> 📁 external_library } class Uint8List { <> <> 📁 external_library } class GenericObjectManager { <> <> 📁 external_library } class IKeyExchange { <> <> 📁 external_library } class IECDHKeyExchangeService { <> <> 📁 external_library } class CryptoAlgorithm { <> <> 📁 external_library } class KeyExchangeAlgorithm { <> <> 📁 external_library } class ISymmetricCipher { <> <> 📁 external_library } class IErmesPeerKeyExchange { <> <> 📁 external_library } CipherException <|-- DecryptionFailedException : extends CipherException <|-- NoValidKeyException : extends CipherException <|-- UnsupportedAlgorithmException : extends ECDHKeyExchangeService --> CryptoAlgorithm : uses ECDHKeyExchangeService --> IECDHKeyExchangeService : uses ECDHKeyExchangeService --> IKeyExchange : uses ECDHKeyExchangeService --> ISymmetricCipher : uses ECDHKeyExchangeService --> KeyExchangeAlgorithm : uses ECDHKeyExchangeService --> Uint8List : uses ECDHKeyUtilities --> IECDHKeyExchangeService : uses ErmesPeerCipher --> DataEncrypted : uses ErmesPeerCipher --> Digest : uses ErmesPeerCipher --> ICipher : uses ErmesPeerCipher --> Uint8List : uses ErmesPeerCipher --> _CipherEntry : uses ErmesPeerCipherHandler --> ErmesPeerCipherHandler : uses ErmesPeerKeyExchange --> CryptoAlgorithm : uses ErmesPeerKeyExchange --> DataEncrypted : uses ErmesPeerKeyExchange --> IErmesPeerCipher : uses ErmesPeerKeyExchange --> ISymmetricCipher : uses Exception <|.. CipherException : implements GenericObjectManager <|-- ErmesPeerCipherHandler : extends IECDHKeyExchangeService <|.. ECDHKeyExchangeService : implements IErmesPeerCipher <|.. ErmesPeerCipher : implements IErmesPeerKeyExchange <|.. ErmesPeerKeyExchange : implements IKeyExchange <|.. ECDHKeyExchangeService : implements _CipherEntry --> Digest : uses _CipherEntry --> ICipher : uses

Diagram Legend

Arrows:
• Solid arrow <|-- = extends (inheritance)
• Dashed arrow <|.. = implements (interface)
• Dashed arrow <|.. = with (mixin)
• Composition arrow --> = uses (field type)

Annotations:
<<abstract>> = Abstract class
<<interface>> = Interface class
<<sealed>> = Sealed class
<<mixin>> = Mixin
<<enumeration>> = Enum