Writing plugins
With this example, we will create a plugin that displays a message on the program startup. To create the plugin, you need to write a plugin descriptor.
Step #1: Create your plugin folder in a plugins folder
Create a myplugin folder in the plugins folder in the installation directory of the modeling tool.
Step #2: Write a plugin code
The plugin must contain at least one class derived from the com.nomagic.magicdraw.plugins.Plugin class.
package
myplugin;
import
com.nomagic.magicdraw.plugins.Plugin;
import
javax.swing.*;
public
class
MyPlugin
extends
Plugin
{
@Override
public
void
init()
{
JOptionPane.showMessageDialog(
null
,
"My Plugin init"
);
}
@Override
public
boolean
close()
{
JOptionPane.showMessageDialog(
null
,
"My Plugin close"
);
return
true
;
}
@Override
public
boolean
isSupported()
{
//plugin can check here for specific conditions
//if false is returned plugin is not loaded.
return
true
;
}
}
This plugin shows the one message when it is initialized, and another message when it is closed.
Step #3: Compile and pack the plugin to a .jar file
For more information on the classpath specification details, see Classpath.
The compiled code must be packed to a .jar file.
To create a .jar file, use a jar command in the plugins directory:
jar -cf myplugin.jar myplugin/*.class
Step #4: Write a plugin descriptor
The plugin descriptor is a file named plugin.xml. This file should be placed in the myplugin folder.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
plugin
id
=
"my.first.plugin"
name
=
"My First Plugin"
version
=
"1.0"
provider-name
=
"Coder"
class
=
"myplugin.MyPlugin"
>
<
requires
>
<
api
version
=
"1.0"
/>
</
requires
>
<
runtime
>
<
library
name
=
"myplugin.jar"
/>
</
runtime
>
</
plugin
>
For detailed information about the plugin descriptor, see Plugin descriptor.