12

I have an idea for a plugin for SQuirreL SQL client and I'd like to know how to make a plugin. My plugin will be a query builder UI which needs access to the schema model including tables, columns, primary keys, foreign keys and constraints etc.

I have searched the web for SQurreL plugin information / tutorials and I can't find much. The best I can find is on Wikipedia which is quite brief.

If you have any links, tutorials, examples or any other information on creating SQuirreL plugins, please post them here.

Thanks

lance-java
  • 25,497
  • 4
  • 59
  • 101

1 Answers1

7

Here is a class for extending a Squirrel Plugin made in Java:

public class FulltextsearchPlugin extends DefaultSessionPlugin {  
private final Analyzer analyzer = new StandardAnalyzer();  
private final String path = "c:/temp/lucene/squirrel/";  
private final IndexWriter writer = createIndexWriter();  

@Override  
public String getAuthor() {  
    return "Mike Haller";  
}  

@Override  
public String getDescriptiveName() {  
    return "Full-Text Search Plugin";  
}  

@Override  
public String getInternalName() {  
    return "fulltextsearchplugin";  
}  

@Override  
public String getVersion() {  
    return "0.0.1";  
}  

@Override  
public PluginSessionCallback sessionStarted(ISession session) {  
    // Add context menu items to the object tree's view and procedure nodes.  
    IObjectTreeAPI otApi = session.getSessionInternalFrame()  
            .getObjectTreeAPI();  
    otApi.addToPopup(DatabaseObjectType.TABLE, new FulltextsearchMenu(this,  
            session));  
    return new PluginSessionCallbackAdaptor(this);  
 }  
}  

That is a code snapshot from one of the best tutorials in my view, which provides a very clear discussion with steps on how to get a plugin implemented. The material provides a good template to extend it to other cases.

Avanz
  • 7,466
  • 23
  • 54
  • 2
    Thanks, it seems I can get access to the schema model via session.getObjectTreeAPIOfActiveSessionWindow() – lance-java Mar 22 '14 at 22:09