Author: ozeigermann
Date: Fri Jul 20 09:14:53 2007
New Revision: 558033

URL: http://svn.apache.org/viewvc?view=rev&rev=558033
Log:
New package for streamable resources. Will be implemented by transactional file 
resource manager. Could also offer access to content from a CMS. 

Added:
    
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/
    
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceEvent.java
    
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceInterceptor.java
    
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceManager.java
    
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/StreamableResource.java

Added: 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceEvent.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceEvent.java?view=auto&rev=558033
==============================================================================
--- 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceEvent.java
 (added)
+++ 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceEvent.java
 Fri Jul 20 09:14:53 2007
@@ -0,0 +1,13 @@
+package org.apache.commons.transaction.resource;
+
+public interface ResourceEvent {
+    enum EventType {
+        ACCESS, READ, CREATE, DELETE, WRITE, MOVE, COPY, COMMIT, ROLLBACK, 
PROPERTYSET
+    };
+
+    String getPath();
+    String getDestinationPath();
+    String propertyName();
+    
+    EventType getEventType();
+}

Added: 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceInterceptor.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceInterceptor.java?view=auto&rev=558033
==============================================================================
--- 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceInterceptor.java
 (added)
+++ 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceInterceptor.java
 Fri Jul 20 09:14:53 2007
@@ -0,0 +1,7 @@
+package org.apache.commons.transaction.resource;
+
+
+public interface ResourceInterceptor {
+    boolean beforeCompletion(ResourceEvent event);
+    void afterCompletion(ResourceEvent event);
+}
\ No newline at end of file

Added: 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceManager.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceManager.java?view=auto&rev=558033
==============================================================================
--- 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceManager.java
 (added)
+++ 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/ResourceManager.java
 Fri Jul 20 09:14:53 2007
@@ -0,0 +1,15 @@
+package org.apache.commons.transaction.resource;
+
+import java.io.IOException;
+
+import org.apache.commons.transaction.locking.LockException;
+
+public interface ResourceManager<R> {
+    R getResource(String path) throws IOException, LockException;
+
+    String getRootPath() throws IOException, LockException;
+
+    void addInterceptor(ResourceInterceptor interceptor);
+
+    void removeInterceptor(ResourceInterceptor interceptor);
+}
\ No newline at end of file

Added: 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/StreamableResource.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/StreamableResource.java?view=auto&rev=558033
==============================================================================
--- 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/StreamableResource.java
 (added)
+++ 
jakarta/commons/proper/transaction/branches/TRANSACTION_2/src/java/org/apache/commons/transaction/resource/StreamableResource.java
 Fri Jul 20 09:14:53 2007
@@ -0,0 +1,51 @@
+package org.apache.commons.transaction.resource;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Collection;
+
+import org.apache.commons.transaction.locking.LockException;
+
+public interface StreamableResource {
+    String getPath();
+
+    boolean isDirectory();
+
+    boolean isFile();
+
+    Collection<StreamableResource> getChildren() throws IOException, 
LockException;
+
+    StreamableResource getParent() throws IOException, LockException;
+
+    InputStream readStream() throws IOException, LockException;
+
+    OutputStream writeStream(boolean append) throws IOException, LockException;
+
+    boolean delete() throws IOException, LockException;
+
+    boolean move(String destinationpath) throws IOException, LockException;
+
+    boolean copy(String destinationpath) throws IOException, LockException;
+
+    boolean exists();
+
+    void createAsDirectory() throws IOException, LockException;
+
+    void createAsFile() throws IOException, LockException;
+
+    // plus more general properties
+    // among them could be length, lastmodfied, etc.
+    Object getProperty(String name);
+
+    Object setProperty(String name, Object newValue);
+
+    // plus locking methods
+    void readLock();
+
+    void writeLock();
+
+    boolean tryReadLock();
+
+    boolean tryWriteLock();
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to