001    package nl.cwi.sen1.visbase.factbrowser.data;
002    
003    
004    /**
005     * This class represents the Visualisation Plugin. In this class the identifier
006     * and name of the plugin are registered.
007     *
008     * @author Renze de Vries
009     * @date 14-02-2007
010     *
011     */
012    public class VisualisationPlugin implements Comparable<VisualisationPlugin> {
013        private String pluginName;
014    
015        private int pluginId;
016    
017        /**
018         * This is the default constructor only present for failsafe purposes. The
019         * following constructor should be used: VisualisationPluginNode(String
020         * pluginName, int pluginId)
021         *
022         * @author Renze de Vries
023         * @date 14-02-2007
024         */
025        public VisualisationPlugin() {
026            pluginName = "";
027            pluginId = 0;
028        }
029    
030        /**
031         * The constructor which makes it possible to create the representitive of
032         * the plugin visualisation.
033         *
034         * @param pluginName
035         *            The name of the plugin
036         * @param pluginId
037         *            The identifier of the plugin
038         *
039         * @author Renze de Vries
040         * @date 14-02-2007
041         */
042        public VisualisationPlugin(String pluginName, int pluginId) {
043            this.pluginName = pluginName;
044            this.pluginId = pluginId;
045        }
046    
047        /**
048         * This method makes it possible to return the identifier of the plugin
049         *
050         * @return The identifier
051         *
052         * @author Renze de Vries
053         * @date 14-02-2007
054         */
055        public int getPluginId() {
056            return this.pluginId;
057        }
058    
059        /**
060         * This method return the name of the visualisation plugin so it can be
061         * displayed in the Tree.
062         *
063         * @author Renze de Vries
064         * @date 14-02-2007
065         */
066        public String toString() {
067            return pluginName;
068        }
069    
070        /**
071         * This method makes it possible to sort the collection
072         * of VisualisationPlugins. This is nessecary to have the same
073         * order in the visible Tree every time. This is regardless in
074         * which order the ToolBus send this.
075         *
076         * @autor Renze de Vries
077         * @date 15-02-2007
078         */
079        public int compareTo(VisualisationPlugin arg0) {
080            String localVisName = this.pluginName;
081            String remoteVisName = arg0.pluginName;
082    
083            return localVisName.compareTo(remoteVisName);
084        }
085    
086    
087    }