package org.jtwig.resource.metadata;
import com.google.common.base.Optional;
import org.jtwig.resource.loader.ResourceLoader;
import org.jtwig.resource.reference.ResourceReference;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.Charset;
public class ResourceResourceMetadata implements ResourceMetadata {
private final ResourceLoader resourceLoader;
private final ResourceReference resourceReference;
public ResourceResourceMetadata(ResourceLoader resourceLoader, ResourceReference resourceReference) {
this.resourceLoader = resourceLoader;
this.resourceReference = resourceReference;
}
@Override
public boolean exists() {
return resourceLoader.exists(resourceReference.getPath());
}
@Override
public InputStream load() {
return resourceLoader.load(resourceReference.getPath());
}
@Override
public Optional<Charset> getCharset() {
return resourceLoader.getCharset(resourceReference.getPath());
}
@Override
public Optional<URL> toUrl () {
return resourceLoader.toUrl(resourceReference.getPath());
}
public ResourceReference getResourceReference() {
return resourceReference;
}
}