Author: zhoresh
Date: Tue May  3 20:44:02 2011
New Revision: 1099235

URL: http://svn.apache.org/viewvc?rev=1099235&view=rev
Log:
Update DefaultFeatureFile to allow easy override of listFiles | 
http://codereview.appspot.com/4438098/

Modified:
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/DefaultFeatureFile.java

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/DefaultFeatureFile.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/DefaultFeatureFile.java?rev=1099235&r1=1099234&r2=1099235&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/DefaultFeatureFile.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/DefaultFeatureFile.java
 Tue May  3 20:44:02 2011
@@ -30,15 +30,20 @@ import java.net.URI;
  */
 public class DefaultFeatureFile implements FeatureFile {
 
-  private final File wrappedFile;
+  protected final File wrappedFile;
 
   public DefaultFeatureFile(String path) {
     this.wrappedFile = new File(path);
   }
 
-  private DefaultFeatureFile(File wrappedFile) {
+  protected DefaultFeatureFile(File wrappedFile) {
     this.wrappedFile = wrappedFile;
   }
+
+  protected DefaultFeatureFile createFile(File wrappedFile) {
+    return new DefaultFeatureFile(wrappedFile);
+  }
+
   public InputStream getInputStream() throws IOException {
     return new FileInputStream(wrappedFile);
   }
@@ -69,9 +74,12 @@ public class DefaultFeatureFile implemen
 
   public FeatureFile[] listFiles() {
     File[] wrappedFiles = wrappedFile.listFiles();
+    if (wrappedFiles == null) {
+      return null;
+    }
     FeatureFile[] files = new FeatureFile[wrappedFiles.length];
     for (int i = 0; i < wrappedFiles.length; i++) {
-      files[i] = new DefaultFeatureFile(wrappedFiles[i]);
+      files[i] = createFile(wrappedFiles[i]);
     }
     return files;
   }


Reply via email to