View Javadoc

1   package net.krecan.m2_proxy;
2   
3   import java.io.IOException;
4   import java.io.OutputStream;
5   
6   /***
7    * Resource abstraction. 
8    * @author Lukas Krecan
9    *
10   */
11  public interface Resource {
12  	/***
13  	 * Returns length of the resource
14  	 * @return
15  	 */
16  	public long getLength();
17  	
18  	/***
19  	 * Copies the resource to the output stream. You can call this method only once.
20  	 * It means, you can not recycle a resource. After copying, you have to release the resource. 
21  	 * @param outputStream
22  	 * @throws IOException 
23  	 */
24  	public void copyToStream(OutputStream outputStream) throws IOException;
25  	
26  	/***
27  	 * Releases all system resources blocked by this resource :-) It HAS to be called after using the resource.
28  	 *
29  	 */
30  	public void release();
31  	
32  	/***
33  	 * Returns last modification date.
34  	 * @return
35  	 */
36  	public long getLastModified();
37  	
38  	/***
39  	 * Returns path to the resource. LogicalName == resourcePath
40  	 * @return
41  	 */
42  	public String getLogicalName();
43  }