Bryn Cooke created TINKERPOP-1402:
-------------------------------------
Summary: Impossible for graph implementations to provide a class
resolver for IO
Key: TINKERPOP-1402
URL: https://issues.apache.org/jira/browse/TINKERPOP-1402
Project: TinkerPop
Issue Type: Bug
Components: structure
Reporter: Bryn Cooke
Priority: Critical
As far as I can tell there is no way for a graph implementation to specify a
classresolver for the following code:
{noformat}g.io(IoCore.gryo()).writer().create(){noformat}
The problem is that inside the graph implementation we need to be able to do
this:
{noformat}
public <I extends Io> I io(final Io.Builder<I> builder) {
Io io =
builder.graph(this).registry(MyRegistry.INSTANCE).classResolver(MyClassReolver.INSTANCE).create();
{noformat}
but only supplying a registry is supported.
Other solutions could be to design GryoIo for extension so that it can be
wrapped or to change the signature of Graph#io to:
{noformat}
public default Io io(final Io.Builder<I> builder)
{noformat}
I would probably go for the signature change, so the graph is responsible for
deciding the implementation that is returned.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)