001 /* 002 003 $Id: PartOfFilePlugin.java,v 1.3 2003/03/26 23:07:42 culdesac Exp $ 004 005 */ 006 007 package sharpster.common; 008 009 import java.util.LinkedList; 010 011 /** 012 * An interface which should be implemented by all types of pluginData classes. 013 */ 014 public interface PartOfFilePlugin { 015 016 /** 017 * Returns the name of the plug-in which has created this data. 018 */ 019 public String getPluginName(); 020 021 /** 022 * Retrns a description of this plug-in. 023 */ 024 public String getPluginDescription(); 025 026 /** 027 * Parse a commandline argument and convert it to a specific plugin data. 028 */ 029 public PluginData parseArguments(LinkedList args); 030 031 /** 032 * Extract the shared parts from a file collection. 033 */ 034 public ResponseCollection extractParts(SharedFile originalFile, String role); 035 036 /** 037 * Merge the shared parts with the entire files. 038 */ 039 public ResponseCollection mergeParts(SharedFile originalFile, 040 SharedFile partOfFile, 041 String role); 042 }