001 package plugins;
002 import sharpster.common.*;
003 import java.util.*;
004 import plugins.JavaRolePluginModule.*;
005
006 public class JavaRolePlugin {
007 // extends PartOfFilePlugin
008
009 /**
010 * Returns the name of the plug-in which has created this data.
011 */
012 public String getPluginName() {
013 return new String("JavaRolePlugin");
014 }
015
016 /**
017 * Retrns a description of this plug-in.
018 */
019 public String getPluginDescription(){
020 return new String("JavaRolePlugin: A plugin for extracting parts of files depending on tags");
021 }
022
023 /**
024 * Parse a commandline argument and convert it to a specific plugin data.
025 */
026 public PluginData parseArguments(LinkedList args) {
027 return new JavaRolePluginData();
028 }
029
030
031
032 /**
033 * Extract the shared parts from a file collection.
034 */
035 public ResponseCollection extractParts(SharedFile originalFile, String role) {
036 if (role.equals("doc")) {
037 return Extractor.extractPartsForDoc(originalFile);
038 }
039 else {
040 return Extractor.extractPartsForRole(originalFile,role);
041 }
042 }
043
044 /**
045 * Merge the shared parts with the entire files.
046 */
047 public ResponseCollection mergeParts(SharedFile originalFile, SharedFile partsFile, String role) {
048 if (role.equals("doc")) {
049 return Merger.mergePartsWithRoleDoc(originalFile,partsFile);
050 }
051 else {
052 return Merger.mergePartsWithRole(originalFile,partsFile,role);
053 }
054 }
055
056
057
058 /**
059 * Extract the shared parts from a file collection.
060 */
061 /*public String extractParts(String originalFile, String role) {
062 ParseTree tree=new ParseTree(originalFile);
063 if(role.equals("doc")) {
064 Extractor.cleanseMethodBodies(tree);
065 return tree.toString();
066 }else{
067 Extractor.extractPartsForRole(tree,role);
068 return tree.toString();
069 }
070 }*/
071
072 /**
073 * Merge the shared parts with the entire files.
074 */
075 /*public String mergeParts(String originalFile, String partsOfFile, String role) {
076 // @todo släng in felmeddelanden om inte parseträden kan skapas
077 ParseTree originalTree = new ParseTree(originalFile);
078 ParseTree partsTree = new ParseTree(partsOfFile);
079 if(role.equals("doc")) {
080 // @todo felmeddelande om ihopslagningen misslyckas av någon anledning
081 Merger.mergePartsWithRoleDoc(originalTree,partsTree);
082 return originalTree.toString();
083 }else{
084 // @todo felmeddelande om ihopslagningen misslyckas av någon anledning
085 Merger.mergePartsWithRole(originalTree,partsTree,role);
086 return originalTree.toString();
087 }
088 }*/
089 }
090
091
092
093