package com.dhemery.network;
import com.dhemery.publishing.Publisher;
/**
* A resource factory that wraps another factory's {@link Resource}s
* in {@link PublishingResource} wrappers.
*/
public class PublishingResourceFactory implements ResourceFactory {
private final Publisher publisher;
private final ResourceFactory create;
/**
* Create resource factory that wraps another factory's {@link Resource}s
* in {@link PublishingResource} wrappers.
*/
public PublishingResourceFactory(Publisher publisher, ResourceFactory resources){
this.publisher = publisher;
create = resources;
}
@Override
public Resource resource(String protocol, String host, int port, String path) {
Resource resource = create.resource(protocol, host, port, path);
return new PublishingResource(publisher, resource);
}
}