- private final class GeneratorLoader extends CacheLoader<Class<? extends DataContainer>, DataObjectSerializer> {
- @Override
- public DataObjectSerializer load(final Class<? extends DataContainer> key) {
- final DataObjectSerializerImplementation prototype = generator.getSerializer(key);
- return new DataObjectSerializerProxy(prototype);
- }
- }
-
- private final class DataObjectSerializerProxy
- implements DataObjectSerializer, Delegator<DataObjectSerializerImplementation> {
- private final DataObjectSerializerImplementation delegate;
-
- DataObjectSerializerProxy(final DataObjectSerializerImplementation delegate) {
- this.delegate = delegate;
- }
-
- @Override
- public DataObjectSerializerImplementation getDelegate() {
- return delegate;
- }
-
- @Override
- public void serialize(final DataObject obj, final BindingStreamEventWriter stream) throws IOException {
- delegate.serialize(BindingNormalizedNodeCodecRegistry.this, obj, stream);
- }
- }
-