edu.iu.iv.core.plugin
Interface Plugin

All Known Implementing Classes:
AboutPlugin, AbsurdistPlugin, AttackTolerancePlugin, BalloonGraphDemoPlugin, BarabasiAlbertModelPlugin, BasicPlugin, BasicURLPlugin, BetweennessCentralityPlugin, BreadthFirstSearchPlugin, BurstPlugin, CanPlugin, CanSearchPlugin, ChordPlugin, ChordSearchPlugin, DistortionDemoPlugin, ErrorTolerancePlugin, ExitPlugin, FisheyeMenuDemoPlugin, ForceDemoPlugin, HypergridPlugin, JUNGCircleLayoutPlugin, JUNGFruchtermanRheingoldLayoutPlugin, JUNGKamadaKawaiLayoutPlugin, JUNGSpringLayoutPlugin, LoadPlugin, NetworkAnalysisToolkitPlugin, P2PNetworkVisualizationPlugin, PerlStopWordRemoverPlugin, PerlTermDocPlugin, PerlVectorSpaceModelPlugin, PFNETPlugin, PluginPropertyViewerPlugin, PorterStemmerPlugin, PreferencesPlugin, PruPlugin, RadialGraphDemoPlugin, RandomNetworkPlugin, RandomWalkPlugin, SavePlugin, TarlPlugin, TreeMapDemoPlugin, WattsStrogatzSmallWorldPlugin, ZoomingPanDemoPlugin

public interface Plugin

Interface for an IVC plugin. It contains the plugin's view and info about where and how it is to appear in the menu, as well as providing a list of models it supports and reasons why it doesn't support others.

Author:
Team IVC

Method Summary
 java.lang.String getDefaultMenuPath()
          Gets this plugin's menu path, a "/"-delimited string which describes where in the GUI menu its menu item will be inserted.
 java.lang.String getDescription()
           
 javax.swing.Icon getMenuIcon()
          Gets the menu icon to be shown on the menu for this plugin.
 PropertyMap getPropertyMap()
          Gets the property map for this plugin which specifies additional properties of the plugin that can be gotten.
 javax.swing.JInternalFrame getView(java.lang.Object model)
          Returns a view of the data given.
 boolean supports(java.lang.Object model)
          Determines whether a model is supported by this plugin or not.
 java.lang.String unsupportedReason(java.lang.Object model)
          Retrieves the reason why a particular model is unsupported by this plugin.
 

Method Detail

getPropertyMap

public PropertyMap getPropertyMap()
Gets the property map for this plugin which specifies additional properties of the plugin that can be gotten.

Returns:
a plugin property map from PluginProperty->Value

getDefaultMenuPath

public java.lang.String getDefaultMenuPath()
Gets this plugin's menu path, a "/"-delimited string which describes where in the GUI menu its menu item will be inserted. For example, "File/Save/To Database" places the menu item "To Database" in the "Save" submenu of the "File" top-level menu.

Returns:
this plugin's menu path

getDescription

public java.lang.String getDescription()
Returns:
a description of this plugin

supports

public boolean supports(java.lang.Object model)
Determines whether a model is supported by this plugin or not.

Parameters:
model - the model to check for support
Returns:
true if the given model is supported, false otherwise

unsupportedReason

public java.lang.String unsupportedReason(java.lang.Object model)
Retrieves the reason why a particular model is unsupported by this plugin.

Parameters:
model - the model to look up a reason for
Returns:
the reason the given model is unsupported

getView

public javax.swing.JInternalFrame getView(java.lang.Object model)
Returns a view of the data given. The model given, must be supported by the plugin. Some plugins may ignore the model given to it. You may return null if you wish for no interface to be shown (as is the case with some algorithms).

Parameters:
model - the model to get a view of or to be acted upon.
Returns:
a swing frame that can then be added to the IVC User Interface.

getMenuIcon

public javax.swing.Icon getMenuIcon()
Gets the menu icon to be shown on the menu for this plugin.

Returns:
this plugin's icon, or null if it has none