package se.chalmers.gdcn.files;
import net.tomp2p.peers.Number160;
/**
* Created by HalfLeif on 2014-05-28.
*/
public class FalseMeta extends TaskMeta {
private final FileDep falseModule;
/**
* Creates a deceitful TaskMeta
* @param taskMeta ordinary task meta to imitate
* @param falseModuleFileName file name for modified file
*/
public static FalseMeta falsify(TaskMeta taskMeta, String falseModuleFileName){
return new FalseMeta(taskMeta, falseModuleFileName);
}
/**
* Creates a deceitful TaskMeta
* @param taskMeta ordinary task meta to imitate
* @param falseModuleFileName file name for modified file
*/
private FalseMeta(TaskMeta taskMeta, String falseModuleFileName) {
super(taskMeta.getTaskName(), taskMeta.getModule(), taskMeta.getDependencies());
FileDep module = taskMeta.getModule();
this.falseModule = new FalseDep(falseModuleFileName, module.getFileLocation(), module.getDhtKey(),
module.isSticky(), module.getCheckSum());
}
private static class FalseDep extends FileDep{
private FalseDep(String fileName, String fileLocation, Number160 dhtKey, boolean sticky, int checkSum) {
super(fileName, fileLocation, dhtKey, sticky, checkSum);
}
}
@Override
public FileDep getModule(){
return falseModule;
}
}