// Path: src/main/java/net/trustyuri/file/FileModule.java
// public class FileModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "FA";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException {
// 		FileHasher hasher = new FileHasher();
// 		String ac = hasher.makeArtifactCode(new BufferedInputStream(r.getInputStream()));
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException {
// 		TrustyUriResource r = new TrustyUriResource(file);
// 		File renamedFile = new File(r.getFilename().replaceAll(r.getArtifactCode(), ""));
// 		file.renameTo(renamedFile);
// 		ProcessFile.process(renamedFile);
// 	}
// 
// }
// 
// Path: src/main/java/net/trustyuri/rdf/RdfGraphModule.java
// public class RdfGraphModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "RB";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException, TrustyUriException {
// 		RdfFileContent content = RdfUtils.load(r);
// 		content = RdfPreprocessor.run(content, r.getArtifactCode());
// 		String ac = RdfHasher.makeGraphArtifactCode(content.getStatements());
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException, TrustyUriException {
// 		RdfUtils.fixTrustyRdf(file);
// 	}
// 
// }
// 
// Path: src/main/java/net/trustyuri/rdf/RdfModule.java
// public class RdfModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "RA";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException, TrustyUriException {
// 		RdfFileContent content = RdfUtils.load(r);
// 		content = RdfPreprocessor.run(content, r.getArtifactCode());
// 		String ac = RdfHasher.makeArtifactCode(content.getStatements());
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException, TrustyUriException {
// 		RdfUtils.fixTrustyRdf(file);
// 	}
// 
// }


import java.util.HashMap;
import java.util.Map;
import net.trustyuri.file.FileModule;
import net.trustyuri.rdf.RdfGraphModule;
import net.trustyuri.rdf.RdfModule;
package net.trustyuri;



/**
 * This class stores all available modules.
 *
 * @author Tobias Kuhn
 */
public class ModuleDirectory {

	private ModuleDirectory() {}  // no instances allowed

// Path: src/main/java/net/trustyuri/file/FileModule.java
// public class FileModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "FA";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException {
// 		FileHasher hasher = new FileHasher();
// 		String ac = hasher.makeArtifactCode(new BufferedInputStream(r.getInputStream()));
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException {
// 		TrustyUriResource r = new TrustyUriResource(file);
// 		File renamedFile = new File(r.getFilename().replaceAll(r.getArtifactCode(), ""));
// 		file.renameTo(renamedFile);
// 		ProcessFile.process(renamedFile);
// 	}
// 
// }
// 
// Path: src/main/java/net/trustyuri/rdf/RdfGraphModule.java
// public class RdfGraphModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "RB";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException, TrustyUriException {
// 		RdfFileContent content = RdfUtils.load(r);
// 		content = RdfPreprocessor.run(content, r.getArtifactCode());
// 		String ac = RdfHasher.makeGraphArtifactCode(content.getStatements());
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException, TrustyUriException {
// 		RdfUtils.fixTrustyRdf(file);
// 	}
// 
// }
// 
// Path: src/main/java/net/trustyuri/rdf/RdfModule.java
// public class RdfModule extends AbstractTrustyUriModule {
// 
// 	public static final String MODULE_ID = "RA";
// 
// 	@Override
// 	public String getModuleId() {
// 		return MODULE_ID;
// 	}
// 
// 	@Override
// 	public String getAlgorithmId() {
// 		return "sha-256";
// 	}
// 
// 	@Override
// 	public int getDataPartLength() {
// 		return 43;
// 	}
// 
// 	@Override
// 	public boolean hasCorrectHash(TrustyUriResource r) throws IOException, TrustyUriException {
// 		RdfFileContent content = RdfUtils.load(r);
// 		content = RdfPreprocessor.run(content, r.getArtifactCode());
// 		String ac = RdfHasher.makeArtifactCode(content.getStatements());
// 		return r.getArtifactCode().equals(ac);
// 	}
// 
// 	@Override
// 	public void fixTrustyFile(File file) throws IOException, TrustyUriException {
// 		RdfUtils.fixTrustyRdf(file);
// 	}
// 
// }


// Path: src/main/java/net/trustyuri/ModuleDirectory.java
import java.util.HashMap;
import java.util.Map;
import net.trustyuri.file.FileModule;
import net.trustyuri.rdf.RdfGraphModule;
import net.trustyuri.rdf.RdfModule;

package net.trustyuri;



/**
 * This class stores all available modules.
 *
 * @author Tobias Kuhn
 */
public class ModuleDirectory {

	private ModuleDirectory() {}  // no instances allowed

	private static Map<String,TrustyUriModule> modules = new HashMap<String,TrustyUriModule>();