Details
Description
Currently the EncryptionSupport is difficult to use. Each module needs to check the presence of EncryptionSupport and an Encryption module and also check the prefixes and suffixes.
I propose to have one method exposed by the EncryptionSupport:
String encrypt(String plain)
This method checks if plain is already encrypted and encrypts with the selected Encryption. It also handles the !enabled or no suitable EncryptionSupport case.
Besides that I propose a public static EncryptionSupport noEncryptionSupport() that can be called instead of setting the encryptionSupport=null in modules. This allows to leave out null checks.