You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/04/01 01:15:12 UTC
svn commit: r1087481 - in
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5:
internal/services/assets/BytestreamCache.java
internal/services/assets/StreamableResourceImpl.java
services/assets/StreamableResource.java
Author: hlship
Date: Thu Mar 31 23:15:12 2011
New Revision: 1087481
URL: http://svn.apache.org/viewvc?rev=1087481&view=rev
Log:
TAP5-73: Add a method to StreamableResource to allow access to the underlying InputStream for the resource's content
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/BytestreamCache.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/BytestreamCache.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/BytestreamCache.java?rev=1087481&r1=1087480&r2=1087481&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/BytestreamCache.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/BytestreamCache.java Thu Mar 31 23:15:12 2011
@@ -14,8 +14,10 @@
package org.apache.tapestry5.internal.services.assets;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
/**
@@ -48,4 +50,9 @@ public class BytestreamCache
{
return streamData.length;
}
+
+ public InputStream openStream()
+ {
+ return new ByteArrayInputStream(streamData);
+ }
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java?rev=1087481&r1=1087480&r2=1087481&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StreamableResourceImpl.java Thu Mar 31 23:15:12 2011
@@ -15,6 +15,7 @@
package org.apache.tapestry5.internal.services.assets;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
import org.apache.tapestry5.services.assets.CompressionStatus;
@@ -64,6 +65,11 @@ public class StreamableResourceImpl impl
bytestreamCache.writeTo(os);
}
+ public InputStream openStream() throws IOException
+ {
+ return bytestreamCache.openStream();
+ }
+
@Override
public String toString()
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java?rev=1087481&r1=1087480&r2=1087481&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/StreamableResource.java Thu Mar 31 23:15:12 2011
@@ -15,6 +15,7 @@
package org.apache.tapestry5.services.assets;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
import org.apache.tapestry5.ioc.Resource;
@@ -45,6 +46,15 @@ public interface StreamableResource
void streamTo(OutputStream os) throws IOException;
/**
+ * Opens the content of the resource as an input stream; the caller is responsible for closing the stream
+ * after reading it.
+ *
+ * @return stream of the contents of the resource
+ * @throws IOException
+ */
+ InputStream openStream() throws IOException;
+
+ /**
* Returns the time the resource was last modified, with accuracy to one second (so as to match
* the HTTP request/response date headers.
*/