URLContent.java
- /*
- * URLContent
- */
- package gov.usgs.earthquake.product;
- import gov.usgs.util.StreamUtils;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URISyntaxException;
- import java.net.URL;
- import javax.activation.MimetypesFileTypeMap;
- /**
- * Content stored at a URL.
- */
- public class URLContent extends AbstractContent {
- /** Used to look up file types. */
- private static MimetypesFileTypeMap MIME_TYPES = new MimetypesFileTypeMap();
- /** The actual content. */
- private URL content;
- /**
- * Create a new URLContent object.
- *
- * @param content
- * the content available at a URL.
- * @throws URISyntaxException on URI error
- */
- public URLContent(final URL content) throws URISyntaxException {
- this.setContentType(MIME_TYPES.getContentType(content.toURI()
- .toString()));
- this.content = content;
- }
- /**
- * Create a new URLContent object from a FileContent.
- *
- * @param fc
- * the file content.
- * @throws MalformedURLException if URL error
- */
- public URLContent(final FileContent fc) throws MalformedURLException {
- super(fc);
- this.content = fc.getFile().toURI().toURL();
- }
- /**
- * @return an InputStream for the wrapped content.
- * @throws IOException on IO error
- */
- public InputStream getInputStream() throws IOException {
- return StreamUtils.getURLInputStream(content);
- }
- /**
- * @return the wrapped url.
- */
- public URL getURL() {
- return content;
- }
- /**
- * Free any resources associated with this content.
- */
- public void close() {
- // nothing to free
- }
- }