📊 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