Skip to content

Commit

Permalink
Added Null Pattern for DeviceStrategy and FileWrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
budget-coder committed Jun 12, 2018
1 parent 7ef4abc commit ba64b10
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/filesystem/NullDeviceStrategy.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package filesystem;

import java.io.IOException;

import framework.DeviceStrategy;
import framework.FileWrapper;

public class NullDeviceStrategy implements DeviceStrategy {
private static final NullFileWrapper[] NULL_FILE_WRAPPER_ARR = {new NullFileWrapper()};

@Override
public boolean isADirectory() {
return false;
}

@Override
public FileWrapper[] listFiles() {
return NULL_FILE_WRAPPER_ARR;
}

@Override
public FileWrapper getFolder() {
return new NullFileWrapper();
}

@Override
public FileWrapper getFileInstance(String path) {
return new NullFileWrapper();
}

@Override
public void copyMusicToDst(FileWrapper newMusic) throws IOException { // Do nothing
}
}
37 changes: 37 additions & 0 deletions src/filesystem/NullFileWrapper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package filesystem;

import framework.FileWrapper;

public class NullFileWrapper implements FileWrapper {
private static final NullFileWrapper[] NULL_FILE_WRAPPER_ARR = {new NullFileWrapper()};

@Override
public boolean isDirectory() {
return false;
}

@Override
public String getName() {
return "";
}

@Override
public String getAbsolutePath() {
return "";
}

@Override
public FileWrapper[] listFiles() {
return NULL_FILE_WRAPPER_ARR;
}

@Override
public boolean deleteFile() {
return false;
}

@Override
public boolean doesFileExist() {
return false;
}
}

0 comments on commit ba64b10

Please sign in to comment.