Created
August 13, 2012 12:42
-
-
Save gastaldi/3340292 to your computer and use it in GitHub Desktop.
Forge UrlResource
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package org.jboss.forge.resources; | |
| import java.io.IOException; | |
| import java.io.InputStream; | |
| import java.net.URL; | |
| import java.util.Collections; | |
| import java.util.List; | |
| import org.jboss.forge.project.services.ResourceFactory; | |
| @ResourceHandles({ "http://.*", "https://.*" }) | |
| public class UrlResource extends VirtualResource<URL> | |
| { | |
| private URL url; | |
| public UrlResource(final ResourceFactory factory, final Resource<?> parent) | |
| { | |
| super(factory, parent); | |
| } | |
| public UrlResource(final ResourceFactory factory, final URL url) | |
| { | |
| super(factory, null); | |
| this.url = url; | |
| } | |
| @Override | |
| public boolean delete() throws UnsupportedOperationException | |
| { | |
| throw new UnsupportedOperationException(); | |
| } | |
| @Override | |
| public boolean delete(boolean recursive) throws UnsupportedOperationException | |
| { | |
| throw new UnsupportedOperationException(); | |
| } | |
| @Override | |
| public String getName() | |
| { | |
| return getUnderlyingResourceObject().toString(); | |
| } | |
| @Override | |
| public Resource<URL> createFrom(URL file) | |
| { | |
| return new UrlResource(getResourceFactory(), file); | |
| } | |
| @Override | |
| public URL getUnderlyingResourceObject() | |
| { | |
| return url; | |
| } | |
| @Override | |
| public InputStream getResourceInputStream() | |
| { | |
| try | |
| { | |
| return url.openStream(); | |
| } | |
| catch (IOException io) | |
| { | |
| throw new RuntimeException(io); | |
| } | |
| } | |
| @Override | |
| public Resource<?> getChild(String name) | |
| { | |
| return null; | |
| } | |
| @Override | |
| public boolean exists() | |
| { | |
| try | |
| { | |
| url.openStream().close(); | |
| } | |
| catch (IOException io) | |
| { | |
| return false; | |
| } | |
| return true; | |
| } | |
| @Override | |
| protected List<Resource<?>> doListResources() | |
| { | |
| return Collections.emptyList(); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment