Add support for EncryptionContext overrides to the DynamoDBEncryptor by johnwalker · Pull Request #60 · aws/aws-dynamodb-encryption-java

@johnwalker

There are people asking for overrides, and it would be better if they didn't
need to wait for longer term, internal refactors before they are able to use
overrides. This adds optional operators that give the client the last say on the
EncryptionContext's value.

Note: I haven't tested the example, since I didn't figure out a way to run them.
How are we running example code? If we don't have a suggested way yet, I can
figure something out and document it.

@johnwalker

shutdown must be called on ddb and kms to threads to exit when using mvn
exec:java to run commands, otherwise maven will pause for a configurable (by
default 15s) timeout to join daemon threads.

SalusaSecondus

@johnwalker

Update the AWS SDK to latest in order to get access to SaveBehavior.PUT for
examples.

Update tests to use the more general Function<T, T> instead of
UnaryOperator<T>.

Make it so EncryptionContextOperators can't be instantiated by adding a private
constructor.