/**
*
*/
package org.jboss.test.faces.staging;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* This class represents resource with known content.
*
* @author asmirnov
*/
public class StringContentServerResource extends AbstractServerResource {
/**
*
*/
private final byte[] contentBytes;
private static final Logger log = ServerLogger.RESOURCE.getLogger();
/**
* @param name
* @param classpath
*/
public StringContentServerResource(String content) {
this.contentBytes = content.getBytes();
}
/* (non-Javadoc)
* @see org.jboss.test.faces.staging.AbstractServerResource#getAsStream()
*/
@Override
public InputStream getAsStream() throws IOException {
return new ByteArrayInputStream(contentBytes);
}
/* (non-Javadoc)
* @see org.jboss.test.faces.staging.ServerResource#getURL()
*/
public URL getURL() {
// TODO Auto-generated method stub
try {
return new URL("urn",null,0,"", new URLStreamHandler() {
@Override
protected URLConnection openConnection(URL u) throws IOException {
return new URLConnection(u) {
@Override
public void connect() throws IOException {
}
@Override
public Object getContent() throws IOException {
return contentBytes;
}
@Override
public InputStream getInputStream() throws IOException {
return getAsStream();
}
};
}
});
} catch (MalformedURLException e) {
log.log(Level.WARNING,"Malformed StringContentResourceURL",e);
return null;
}
}
}