com.quantum
Class ExternalInterface
java.lang.Object
com.quantum.ExternalInterface
- public class ExternalInterface
- extends java.lang.Object
- Author:
- Julen
Method Summary |
static java.sql.Connection |
connectBookmark(java.lang.String bookmarkName,
org.eclipse.swt.widgets.Shell shell)
|
static void |
displayTable(java.lang.String bookmarkName,
java.lang.String tableName)
Displays a table or view in the Table View of Quantum |
static java.lang.String[] |
getBookmarkNames()
|
static java.lang.String[] |
getDatabaseObjectNames(java.lang.String bookmarkName,
java.lang.String schema,
java.lang.String[] types,
java.lang.String tableNamePrefix)
Returns an array of strings with a list of objects of the database refered by a bookmark. |
static java.lang.String[][] |
getDataFromResultSet(int i)
|
static java.lang.String[] |
getMatchingColumnNames(java.lang.String schemaName,
java.lang.String bookmarkName,
java.lang.String columnPrefix,
java.lang.String tableName,
boolean qualified)
|
static java.lang.String[] |
getMatchingTableNames(java.lang.String schemaName,
java.lang.String bookmarkName,
java.lang.String namePrefix,
java.lang.String[] types,
boolean qualified)
|
static int |
getNumberOfResultSets()
|
static boolean |
isBookmarkConnected(java.lang.String bookmarkName)
This function tells us if the bookmark is connected. |
static boolean |
isBookmarkInQuantum(java.lang.String bookmarkName)
|
static java.lang.String |
xmlToString(org.w3c.dom.Node node)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExternalInterface
public ExternalInterface()
getBookmarkNames
public static java.lang.String[] getBookmarkNames()
- Returns:
- An array of strings with a list of the names of the bookmarks
defined in the Quantum Plugin, in no particular order. There
should be no duplicates, although case-sensitiveness apply.
isBookmarkInQuantum
public static boolean isBookmarkInQuantum(java.lang.String bookmarkName)
- Parameters:
bookmarkName
- The name of the bookmark
- Returns:
- true if the Bookmark name exists in Quantum, false if not. Search is case-sensitive.
isBookmarkConnected
public static boolean isBookmarkConnected(java.lang.String bookmarkName)
- This function tells us if the bookmark is connected. A non connected bookmark cannot give
us information like the table names.
- Parameters:
bookmarkName
- The name of the bookmark
- Returns:
- true if the bookmark is connected, false if not.
connectBookmark
public static java.sql.Connection connectBookmark(java.lang.String bookmarkName,
org.eclipse.swt.widgets.Shell shell)
- Parameters:
bookmarkName
- The name of the bookmarkshell
- A shell object to communicate with the user interface.
That's needed because the connection can ask the user for a password.
- Returns:
- The new connection if successful, null if not.
getDatabaseObjectNames
public static java.lang.String[] getDatabaseObjectNames(java.lang.String bookmarkName,
java.lang.String schema,
java.lang.String[] types,
java.lang.String tableNamePrefix)
- Returns an array of strings with a list of objects of the database refered by a bookmark. You should check that the bookmark is
connected using the
isBookmarkConnected()
function, as nothing will be returned if not.
- Parameters:
bookmarkName
- The name of the bookmarkschema
- The name of the schema to limit the search. Null if we want all the schemas.types
- The types to query the database for. Usually "TABLE", "VIEW", "SEQUENCE", "PROCEDURE"tableNamePrefix
- An optional prefix to select the tables. Null if we want all.
- Returns:
- An array of Strings with the names of the objects. Null if the bookmarkString does not match any bookmark, or other errors.
getMatchingColumnNames
public static java.lang.String[] getMatchingColumnNames(java.lang.String schemaName,
java.lang.String bookmarkName,
java.lang.String columnPrefix,
java.lang.String tableName,
boolean qualified)
throws com.quantum.util.connection.NotConnectedException
- Parameters:
schemaName
- Optional schema name. If null, search all schemas. If empty string, search tables without schema.bookmarkName
- Bookmark name. The name of an existing and connected bookmark in Quantum.
If not connected throws NotConnectedException.
If not existing returns null.columnPrefix
- Optional column prefix. Will return only those columns that begin with the prefix.
If null or empty string return all columnstableName
- Optional table name. If null will return all columns.qualified
- true if the column names must be returned qualified by its table name, in the form "table.column".
- Returns:
- An array of the names of the columns that match the columnPrefix, in the specified table and schema if not null.
null if the bookmark does not exist, empty array if there are no columns that match the conditions
- Throws:
com.quantum.util.connection.NotConnectedException
- If the bookmark is not connected
getMatchingTableNames
public static java.lang.String[] getMatchingTableNames(java.lang.String schemaName,
java.lang.String bookmarkName,
java.lang.String namePrefix,
java.lang.String[] types,
boolean qualified)
throws com.quantum.util.connection.NotConnectedException
- Parameters:
schemaName
- Optional schema name. If null, search all schemas. If empty string, search tables without schema.bookmarkName
- Bookmark name. The name of an existing and connected bookmark in Quantum.
If not connected throws NotConnectedException.
If not existing returns null.namePrefix
- Optional column prefix. Will return only those columns that begin with the prefix.
If null or empty string return all columnstypes
- String array with the types to select. Typical types are "TABLE", "VIEW". If null, it's same as
using new String[] {"TABLE", "VIEW"}
qualified
- true if the table names must be returned qualified by its schema name, in the form "schema.table".
- Returns:
- An array of the names of the tables that match the namePrefix, in the specified schema if not null.
null if the bookmark does not exist, empty array if there are no tables that match the conditions
- Throws:
com.quantum.util.connection.NotConnectedException
- If the bookmark is not connected
displayTable
public static void displayTable(java.lang.String bookmarkName,
java.lang.String tableName)
throws com.quantum.util.connection.NotConnectedException,
java.sql.SQLException
- Displays a table or view in the Table View of Quantum
- Parameters:
bookmarkName
- The name of the bookmark where the table or view istableName
- the name of the table or view
- Throws:
com.quantum.util.connection.NotConnectedException
- If the bookmark is not connected.
java.sql.SQLException
- If any error accessing the database
xmlToString
public static java.lang.String xmlToString(org.w3c.dom.Node node)
- Parameters:
node
- The org.w3c.dom.Node to be converted to a string
- Returns:
- A string with the pretty-printed text of the XML Node
getNumberOfResultSets
public static int getNumberOfResultSets()
- Returns:
- The number of result sets displayed in the Table View
getDataFromResultSet
public static java.lang.String[][] getDataFromResultSet(int i)
- Parameters:
i
- The index (from 0 to getNumberOfResultSets()-1) of the result set we want the data from
- Returns:
- A two-dimensional array of Strings holding the data displayed in the Table View for that result set.
null if the param i is out of bounds.
The resulting matrix has the data stored like data[row][column], both 0-based.
For example, to get the value of the second column of the tenth row or the first displayed recordset, we could use:
String[][] data = ExternalInterface.getDataFromResultSet(0):
String value = data[9][1];
Remember that the data returned is the data displayed, so if you cannot see the data, it won't be available.
To get all the data from a recordset, use the "Show All Table Rows" from the Table View, and then get the string array