Greetings,

I am working on a newer implementation of the Swift API in openstack-swift,
so that all of the known Swift features are exposed via the jclouds API.

What is the best approach for the newer style delegate APIs? Should I base
the interface explicitly on the resource type? In the Swift Account API, in
order to list containers we have:

FluentIterable<? extends Container> listContainers();

FluentIterable<? extends Container> listContainers(ListContainersOptions...
opts);

However, the new style APIs would indicate that I would expose this in the
Container API as:

 FluentIterable<? extends Container> list();

FluentIterable<? extends Container> list(ListContainersOptions... opts);

This pattern would also apply to the Container/Object API where we would
push the listObject(..) call one interface down. Then the Container API
would have list(), and list(ListContainerOptions) and listObjects would
move to the ObjectApi as list().

WDYT? What is the preferred approach here? Thx.

/jd

Reply via email to