com.ibm.di.osgi
Class ConnectorDelegate

java.lang.Object
  extended by com.ibm.di.connector.Connector
      extended by com.ibm.di.osgi.ConnectorDelegate
All Implemented Interfaces:
ConnectorInterface, VersionInfoInterface
Direct Known Subclasses:
ChangeDetectionConnectorDelegate

public class ConnectorDelegate
extends Connector

Used to act as a way for accessing ConnectorComponent services from the OSGi layer.

Note: This class is for internal usage only. Any dependency from the end-user will not be supported. Changes to this class will happen without a warning.

Since:
7.2

Field Summary
protected  Connector worker
           
 
Fields inherited from class com.ibm.di.connector.Connector
ALL_MODES, myLog, PROPERTY_MESSAGE, PROPERTY_READER, PROPERTY_WRITER
 
Constructor Summary
ConnectorDelegate()
           
ConnectorDelegate(String id)
           
 
Method Summary
 boolean addFindEntry(Object entry)
          Adds an entry to the list of duplicate entries found.
 void clearFindEntries()
          Removes all entries from the duplicate entry list.
protected  Object clone()
           
 void debug(String msg)
          Log a debug message to the connector's log
 boolean debugMode()
          Returns whether debug mode is set or not.
 void deleteEntry(Entry entry, SearchCriteria search)
          Deletes an existing entry.
 boolean equals(Object o)
           
 Entry findEntry(Object arg0, Object arg1)
          Locates an entry based on a key/value pair.
 Entry findEntry(SearchCriteria search)
          Finds an existing entry.
 Boolean getBoolean(Object p1)
          Returns the value of a config parameter as a Boolean
 Object getConfiguration()
          Returns the current configuration for this connector
 Object getContext()
          Returns the parent task of the connector - an AssemblyLine object.
 ConnectorInterface getDelegate()
           
 int getFindEntryCount()
          Returns the number of duplicate entries in the list.
 Entry getFirstFindEntry()
          Returns the first entry from the list of duplicate entries found.
 Log getLog()
          Returns the current Log object.
 int getMaxDuplicateEntries()
          Returns the current maximum number of duplicate entries buffered up by the connector.
 Vector<String> getModes()
          Returns the connector's modes.
 Vector<String> getModes(ConnectorConfig config)
          Returns the connector's modes.
 String getName()
          Returns the name for this connector.
 ConnectorInterface getNextClient()
          Server mode - return a clone of self that handles the next client instance when running in server mode.
 Entry getNextEntry()
          Returns the next Entry from the connector.
 Entry getNextFindEntry()
          Returns the next entry from the list of duplicate entries found.
 String getParam(String param)
          Returns the value of a parameter as a java.lang.String object.
 ParserInterface getParser()
          Returns the parser interface used by this connector.
 Object getProperty(Object p1)
          Return a connector property.
 Entry getPushbackEntry()
          Returns the pushed back entry for the connector.
 BaseConfiguration getRawConnectorConfiguration()
          Returns the current configuration for the raw connector
 RSInterface getRSInterface()
          Returns the current RSInterface object in use by this connector.
 JComponent getUI()
          This method returns the user interface component presented to the user to configure the connector.
 String getVersion()
          Version information.
 boolean hasConfigValue(Object p1)
          Return true if we have a configuration value for configName.
 int hashCode()
           
 boolean hasParser()
          Check if the configuration includes a parser.
 void initialize(Object o)
          Initialize the connector.
 void initParser(Object is, Object os)
          Initialize the connector's parser with input and output streams.
 boolean isDeltaSupported()
          Returns true if this connector is able to perform delta updates
 boolean isExceptionFatal(Exception e)
          Returns true if the exception is considered to be fatal.
 boolean isIOException(Throwable e)
          Returns true if this connector considers the Throwable to be an IOException.
 void logError(String msg)
          Log an error message to the connector's log
 void logmsg(String msg)
          Log a message to the connector's log.
 void modEntry(Entry entry, SearchCriteria search)
          Modifies an existing entry.
 void modEntry(Entry entry, SearchCriteria search, Entry old)
          Modifies an existing entry.
 void pushback(Entry e)
          Make an entry the next entry to be iterated from the connector.
 void putEntry(Entry entry)
          Adds a new entry to the data source
 void queryOperations(ConnectorConfig config)
          Discover the operations for a connection given the provided configuration.
 Entry queryReply(Entry entry)
          Performs a query/reply operations.
 Object querySchema(Object source)
          This function translates to whatever means a connector has to discover schema for a connection.
 Vector<String> queryTables()
          This function translates to whatever means a connector have to discover "tables" for a connection.
 void reconnect()
          Reconnect to the underlying data source.
 void reconnect(Object o)
          Reconnect to the underlying data source
 void registerScriptBeans(ScriptEngine se)
          This method is called to register specific objects in the script context.
 void replyEntry(Entry entry)
          Send a reply to the connector.
 void selectEntries()
          Prepare the Connector for sequential read.
 void setConfiguration(Object config)
          Sets the configuration for use by this connector.
 void setContext(Object aContext)
          Sets the parent task of the connector - an AssemblyLine object.
 void setCurrent(Entry entry, SearchCriteria search)
          Change the SearchCriteria search to find the entry sent as a parameter.
 void setDebugMode(boolean debug)
           Modify the debug mode of the component.
 void setId(String id)
           
 void setLog(Log logger)
          Sets the Log object to use for logging messages
 void setMaxDuplicateEntries(int mde)
          Sets the maximum number of duplicate entries to buffer up.
 void setModes(String[] modes)
          Sets the connector's modes.
 void setModes(Vector<String> modes)
          Sets the connector's modes.
 void setName(String name)
          Set the name for the connector.
 void setParam(String param, String value)
          Adds or replaces a connector configuration parameter.
 void setParser(ParserInterface parser)
          Sets the connector's parser.
 void setProperty(Object p1, Object p2)
          Set connector property.
 void setRSInterface(RSInterface rsi)
          Sets the RSInterface for this connector to use.
 void terminate()
          Terminate the connector.
 void terminateServer()
          Interrupts and shuts down the Connector if it runs in Server Mode.
 String toString()
           
 
Methods inherited from class com.ibm.di.connector.Connector
allModes, getClassInstance
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

worker

protected Connector worker
Constructor Detail

ConnectorDelegate

public ConnectorDelegate()

ConnectorDelegate

public ConnectorDelegate(String id)
                  throws Exception
Throws:
Exception
Method Detail

getVersion

public String getVersion()
Description copied from interface: VersionInfoInterface
Version information.

Returns:
version information

initialize

public void initialize(Object o)
                throws Exception
Description copied from class: Connector
Initialize the connector. The connector may be passed a parameter of any kind by the user. It is up to the connector to determine whether this object can be used or not. The parameter is typically provided by a user script. When an AssemblyLine initializes it's Connectors, they are passed a ConnectorMode object.

Specified by:
initialize in interface ConnectorInterface
Overrides:
initialize in class Connector
Parameters:
o - User provided parameter
Throws:
Exception - if the initialization of this connector fails.

addFindEntry

public boolean addFindEntry(Object entry)
Description copied from class: Connector
Adds an entry to the list of duplicate entries found.

Overrides:
addFindEntry in class Connector
Parameters:
entry - The entry object to add
Returns:
true if the entry was successfully added, false if the passed entry is null or the found entries are more than the maximumDuplicatEntriesReturned limit.

clearFindEntries

public void clearFindEntries()
Description copied from class: Connector
Removes all entries from the duplicate entry list.

Overrides:
clearFindEntries in class Connector

debug

public void debug(String msg)
Description copied from class: Connector
Log a debug message to the connector's log

Overrides:
debug in class Connector
Parameters:
msg - The message to write to the log

debugMode

public boolean debugMode()
Description copied from class: Connector
Returns whether debug mode is set or not. May be accessed by different threads.

Overrides:
debugMode in class Connector
Returns:
True if debug mode is set

deleteEntry

public void deleteEntry(Entry entry,
                        SearchCriteria search)
                 throws Exception
Description copied from class: Connector
Deletes an existing entry. The search criteria specifies which entry to modify. Some connectors may silently ignore the search criteria. For example, the LDAP connector will use the distinguished name ($dn) from the entry parameter (if it exists) rather than expanding the search criteria and search for the entry. Each connector's inner semantics governs whether the search parameter is used or not.

Specified by:
deleteEntry in interface ConnectorInterface
Overrides:
deleteEntry in class Connector
Parameters:
entry - The entry data
search - The search criteria used to locate the entry to be deleted
Throws:
Exception - if an error occurs.

findEntry

public Entry findEntry(Object arg0,
                       Object arg1)
Description copied from class: Connector
Locates an entry based on a key/value pair. The search is translated to the connector's format for searching.

Overrides:
findEntry in class Connector
Parameters:
arg0 - The attribute name
arg1 - The attribute value match
Returns:
The entry found or null if no entries were found

findEntry

public Entry findEntry(SearchCriteria search)
                throws Exception
Description copied from class: Connector
Finds an existing entry. The search criteria specifies which entry to locate

Here is an example of how to find all people with names starting with 'J' which are from IBM organization in US.

Example:

 var ctor = input.getConnector();
 var crit = new com.ibm.di.SearchCriteria("$dn",
                com.ibm.di.SearchCriteria.SUBSTRING, "c=US,o=IBM");
 crit.addCriteria("name", com.ibm.di.SearchCriteria.INITIAL_STRING, "J");
 crit.addCriteria("objectclass", com.ibm.di.SearchCriteria.SUBSTRING, "person");
 
 var res = ctor.findEntry(crit);
 if (res != null) {
        main.logmsg("Found entry:");
        main.dumpEntry(res);
 } else {
  if( getFindEntryCount()> 1 ){
   main.logmsg("Found these entries:");
   while ( (entry = ctor.getNextFindEntry()) != null ) {
     main.dumpEntry(entry);
   }
  }
  else {
         main.logmsg("Entry not found!");
  }
 }
 

Specified by:
findEntry in interface ConnectorInterface
Overrides:
findEntry in class Connector
Parameters:
search - The search criteria used to locate the entry to be modified
Returns:
The entry found, or null if no or multiple entries found
Throws:
Exception - if an error occurs.

getBoolean

public Boolean getBoolean(Object p1)
Description copied from class: Connector
Returns the value of a config parameter as a Boolean

Overrides:
getBoolean in class Connector
Parameters:
p1 - the key that boolean value is mapped under.
Returns:
the Boolean value or null if not found.

getConfiguration

public Object getConfiguration()
Description copied from class: Connector
Returns the current configuration for this connector

Specified by:
getConfiguration in interface ConnectorInterface
Overrides:
getConfiguration in class Connector
Returns:
The configuration object (an instance of ConnectorConfig), or null if the configuration is not established

getContext

public Object getContext()
Description copied from class: Connector
Returns the parent task of the connector - an AssemblyLine object.

Here is an example hook of how to print the names of all enabled or passive components in the current running assembly line.

Example:

 var ctx = thisConnector.getConnector().getContext();
 var clist = ctx.getConnectors();
 
 for (i = 0; i < clist.size(); i++)
        main.logmsg(clist.get(i).getName());
 

Specified by:
getContext in interface ConnectorInterface
Overrides:
getContext in class Connector
Returns:
the context to which the connector belongs

getFindEntryCount

public int getFindEntryCount()
Description copied from class: Connector
Returns the number of duplicate entries in the list.

Specified by:
getFindEntryCount in interface ConnectorInterface
Overrides:
getFindEntryCount in class Connector
Returns:
Number of duplicate entries in the list

getFirstFindEntry

public Entry getFirstFindEntry()
                        throws Exception
Description copied from class: Connector
Returns the first entry from the list of duplicate entries found. Also resets the counter for getNextFindEntry

Specified by:
getFirstFindEntry in interface ConnectorInterface
Overrides:
getFirstFindEntry in class Connector
Returns:
The first entry from the list or null if list is empty
Throws:
Exception - if an error occurs.

getLog

public Log getLog()
Description copied from class: Connector
Returns the current Log object.

Overrides:
getLog in class Connector
Returns:
The current Log object or null if no log object exists.
See Also:
Log

getMaxDuplicateEntries

public int getMaxDuplicateEntries()
Description copied from class: Connector
Returns the current maximum number of duplicate entries buffered up by the connector.

Specified by:
getMaxDuplicateEntries in interface ConnectorInterface
Overrides:
getMaxDuplicateEntries in class Connector
Returns:
Max number of duplicate entries

getModes

public Vector<String> getModes()
Description copied from class: Connector
Returns the connector's modes.

Overrides:
getModes in class Connector
Returns:
The connector's modes

getModes

public Vector<String> getModes(ConnectorConfig config)
Description copied from class: Connector
Returns the connector's modes.

Overrides:
getModes in class Connector
Parameters:
config - return the modes given this configuration
Returns:
The connector's modes

getName

public String getName()
Description copied from class: Connector
Returns the name for this connector.

Specified by:
getName in interface ConnectorInterface
Overrides:
getName in class Connector
Returns:
The connector's name

getNextClient

public ConnectorInterface getNextClient()
                                 throws Exception
Description copied from class: Connector
Server mode - return a clone of self that handles the next client instance when running in server mode. The returned connector may be used in its own thread to handle a "client" request so if the returned instance is returned more than once it must be thread safe.

Specified by:
getNextClient in interface ConnectorInterface
Overrides:
getNextClient in class Connector
Returns:
the clone of itself
Throws:
Exception - if an error occurs.

getNextEntry

public Entry getNextEntry()
                   throws Exception
Description copied from class: Connector
Returns the next Entry from the connector. The entry is populated with attributes and values from the next entry in the input set.

Example:

 var ctor = input.getConnector();
 var entry = ctor.getNextEntry();
 
 for (; entry != null; entry = ctor.getNextEntry()) {
        main.logmsg("Read entry...");
        main.dumpEntry(entry);
 }
 

Specified by:
getNextEntry in interface ConnectorInterface
Overrides:
getNextEntry in class Connector
Returns:
- the next Entry, or null if no more data
Throws:
Exception - if an error occurs.
See Also:
ConnectorInterface.selectEntries()

getNextFindEntry

public Entry getNextFindEntry()
                       throws Exception
Description copied from class: Connector
Returns the next entry from the list of duplicate entries found.

Specified by:
getNextFindEntry in interface ConnectorInterface
Overrides:
getNextFindEntry in class Connector
Returns:
The next entry from the list or null if list is empty or at the end
Throws:
Exception - if an error occurs.

getParam

public String getParam(String param)
Description copied from class: Connector
Returns the value of a parameter as a java.lang.String object.

Specified by:
getParam in interface ConnectorInterface
Overrides:
getParam in class Connector
Parameters:
param - The connector configuration parameter name
Returns:
The parameter's value or null if no such parameter exists

getParser

public ParserInterface getParser()
Description copied from class: Connector
Returns the parser interface used by this connector.

Overrides:
getParser in class Connector
Returns:
The parser interface object or null if no parser exists

getProperty

public Object getProperty(Object p1)
Description copied from class: Connector
Return a connector property. Each connector may have static or runtime properties which can be accessed with this method. Note that connector properties are very different from the connector configuration.

Overrides:
getProperty in class Connector
Parameters:
p1 - The property name
Returns:
The property value/object

getPushbackEntry

public Entry getPushbackEntry()
Description copied from class: Connector
Returns the pushed back entry for the connector.

Specified by:
getPushbackEntry in interface ConnectorInterface
Overrides:
getPushbackEntry in class Connector
Returns:
The pushed back entry or null if no such entry exists.
See Also:
ConnectorInterface.pushback( Entry )

getRawConnectorConfiguration

public BaseConfiguration getRawConnectorConfiguration()
Description copied from class: Connector
Returns the current configuration for the raw connector

Specified by:
getRawConnectorConfiguration in interface ConnectorInterface
Overrides:
getRawConnectorConfiguration in class Connector
Returns:
The configuration object or null if the configuration is not established

getRSInterface

public RSInterface getRSInterface()
Description copied from class: Connector
Returns the current RSInterface object in use by this connector. If not set, return com.ibm.di.server.RS.getServer()

Overrides:
getRSInterface in class Connector
Returns:
Connector's RSInterface object

getUI

public JComponent getUI()
Description copied from class: Connector
This method returns the user interface component presented to the user to configure the connector.

Overrides:
getUI in class Connector
Returns:
null by default, indicating no special user interface.

hasConfigValue

public boolean hasConfigValue(Object p1)
Description copied from class: Connector
Return true if we have a configuration value for configName. The value must be present and have a value not equal to the empty string.

Overrides:
hasConfigValue in class Connector
Parameters:
p1 - the key name of the value
Returns:
true if a value with that key is present, false otherwise.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

clone

protected Object clone()
                throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

hasParser

public boolean hasParser()
Description copied from class: Connector
Check if the configuration includes a parser.

Overrides:
hasParser in class Connector
Returns:
True if a parser is specified

initParser

public void initParser(Object is,
                       Object os)
                throws Exception
Description copied from class: Connector
Initialize the connector's parser with input and output streams. If the parser has not been loaded then an attempt is made to load it. The input and output objects may be one of InputStream, OutputStream or Socket.

Overrides:
initParser in class Connector
Parameters:
is - The input object.
os - the output object.
Throws:
Exception - if a parser is not configured or the exception is derived from the parser
See Also:
Connector.getParser()

isDeltaSupported

public boolean isDeltaSupported()
Description copied from class: Connector
Returns true if this connector is able to perform delta updates

Specified by:
isDeltaSupported in interface ConnectorInterface
Overrides:
isDeltaSupported in class Connector
Returns:
true if delta updates are supported, false otherwise

isExceptionFatal

public boolean isExceptionFatal(Exception e)
Description copied from class: Connector
Returns true if the exception is considered to be fatal. This governs whether the AssemblyLine logs the error as a warning or terminates. By default all exceptions are fatal.

Specified by:
isExceptionFatal in interface ConnectorInterface
Overrides:
isExceptionFatal in class Connector
Parameters:
e - The exception object
Returns:
whether the exception is fatal or not

isIOException

public boolean isIOException(Throwable e)
Description copied from class: Connector
Returns true if this connector considers the Throwable to be an IOException. This is needed because we only try reconnection for IO Exceptions, and some Connectors do not return an IOException for an IO Exception.

Specified by:
isIOException in interface ConnectorInterface
Overrides:
isIOException in class Connector
Parameters:
e - The Throwable to be determined
Returns:
true if this Throwable is an IO Exception

logError

public void logError(String msg)
Description copied from class: Connector
Log an error message to the connector's log

Overrides:
logError in class Connector
Parameters:
msg - The message to write to the log

logmsg

public void logmsg(String msg)
Description copied from class: Connector
Log a message to the connector's log. The message is prefixed by the connector's name.

Overrides:
logmsg in class Connector
Parameters:
msg - The message to write to the log

modEntry

public void modEntry(Entry entry,
                     SearchCriteria search)
              throws Exception
Description copied from class: Connector
Modifies an existing entry. The new entry data is given by the entry parameter and the search criteria specifies which entry to modify.

Specified by:
modEntry in interface ConnectorInterface
Overrides:
modEntry in class Connector
Parameters:
entry - The entry data
search - The search criteria used to locate the entry to be modified
Throws:
Exception - if an error occurs.

modEntry

public void modEntry(Entry entry,
                     SearchCriteria search,
                     Entry old)
              throws Exception
Description copied from class: Connector
Modifies an existing entry. The new entry data is given by the entry parameter and the search criteria specifies which entry to modify.

Specified by:
modEntry in interface ConnectorInterface
Overrides:
modEntry in class Connector
Parameters:
entry - The entry data
search - The search criteria used to locate the entry to be modified
old - The old entry found by the search criteria
Throws:
Exception - if an error occurs.

pushback

public void pushback(Entry e)
Description copied from class: Connector
Make an entry the next entry to be iterated from the connector. This method along with getPushbackEntry is used by the AssemblyLineComponent when it iterates the connector. A connector may read one record and then push it back for the subsequent ConnectorInterface.getNextEntry() call. The task component first checks if there is a pushback entry available, and if so, returns that entry as the next input entry.

Specified by:
pushback in interface ConnectorInterface
Overrides:
pushback in class Connector
Parameters:
e - The entry to be returned at the next ConnectorInterface.getNextEntry() call

putEntry

public void putEntry(Entry entry)
              throws Exception
Description copied from class: Connector
Adds a new entry to the data source

Example:

 var ctor = write.getConnector();
 
 for (i = 0; i < 10; i++) {
        var entry = system.newEntry();
        entry.setAttribute("linenumber", i);
        entry.setAttribute("line", i + " line of text...");
 
        main.logmsg("Writes entry to output...");
        main.dumpEntry(entry);
        ctor.putEntry(entry);
 }
 

Specified by:
putEntry in interface ConnectorInterface
Overrides:
putEntry in class Connector
Parameters:
entry - The entry data to add
Throws:
Exception - if an error occurs.

queryOperations

public void queryOperations(ConnectorConfig config)
                     throws Exception
Description copied from class: Connector
Discover the operations for a connection given the provided configuration. The implementation should update the configuration object with available operations. If this method requires the connector to be initialized then the connector must perform init/terminate operations itself.

Specified by:
queryOperations in interface ConnectorInterface
Overrides:
queryOperations in class Connector
Parameters:
config - The configuration
Throws:
Exception - if an error occurs in the derived class implementation.

queryReply

public Entry queryReply(Entry entry)
                 throws Exception
Description copied from class: Connector
Performs a query/reply operations.

Specified by:
queryReply in interface ConnectorInterface
Overrides:
queryReply in class Connector
Parameters:
entry - The data used in outgoing call
Returns:
The entry returned by the peer
Throws:
Exception - if an error occurs.

querySchema

public Object querySchema(Object source)
                   throws Exception
Description copied from class: Connector
This function translates to whatever means a connector has to discover schema for a connection. The connector may implement this, in which case a Vector of Entry objects is returned for each column/attribute it discovered. For a database connector this would typically be column names and their attributes.

Each Entry in the Vector returned should contain the following attributes:

Name Value
name The name of the column/attribute/field ....
syntax The syntax or expected value type
size If specified this will give the user a hint as to how long the field may be

Specified by:
querySchema in interface ConnectorInterface
Overrides:
querySchema in class Connector
Parameters:
source - The object on which to discover schema. This may be an Entry or a string value
Returns:
A Vector of com.ibm.di.entry.Entry objects describing each entity
Throws:
Exception - if an error while retrieving the schema occurs.
See Also:
Entry, Vector

queryTables

public Vector<String> queryTables()
                           throws Exception
Description copied from class: Connector
This function translates to whatever means a connector have to discover "tables" for a connection. The connector may implement this in which case a Vector of strings is returned. For a database connector this would typically be a list of table/view names the user can access with the current set of parameters. For other connectors this might translate to different concepts.

Overrides:
queryTables in class Connector
Returns:
A list of table names
Throws:
Exception - if an error occurs.
See Also:
Vector

reconnect

public void reconnect()
               throws Exception
Description copied from class: Connector
Reconnect to the underlying data source.

The following code could be placed in the 'On Connection lost' hook to change the connector's ldapUrl to another server in case the connection is lost.

Example:

 thisConnector.setParam("ldapURL", "ldap://backupserver.acme.com:389");
 
 // reconnect to backup server
 thisConnector.reconnect();
 

Overrides:
reconnect in class Connector
Throws:
Exception - if an error occurs.
See Also:
Connector.initialize(Object)

reconnect

public void reconnect(Object o)
               throws Exception
Description copied from class: Connector
Reconnect to the underlying data source

Specified by:
reconnect in interface ConnectorInterface
Overrides:
reconnect in class Connector
Parameters:
o - User provided parameter, which is sent to initialize()
Throws:
Exception - if an error occurs.
See Also:
ConnectorInterface.initialize(Object)

registerScriptBeans

public void registerScriptBeans(ScriptEngine se)
                         throws Exception
Description copied from class: Connector
This method is called to register specific objects in the script context. If the connector has a parser, the parser's registerScriptBeans method is also called.

Specified by:
registerScriptBeans in interface ConnectorInterface
Overrides:
registerScriptBeans in class Connector
Parameters:
se - The script engine context
Throws:
Exception - if an error occurs.

replyEntry

public void replyEntry(Entry entry)
                throws Exception
Description copied from class: Connector
Send a reply to the connector.

Specified by:
replyEntry in interface ConnectorInterface
Overrides:
replyEntry in class Connector
Parameters:
entry - the information as an Entry
Throws:
Exception - if an error occurs.

selectEntries

public void selectEntries()
                   throws Exception
Description copied from class: Connector
Prepare the Connector for sequential read. If necessary, create a result set to be used for getNextEntry(). When the Connector is used as an Iterator in an AssemblyLine, this method will be called. Default is an empty method.

Specified by:
selectEntries in interface ConnectorInterface
Overrides:
selectEntries in class Connector
Throws:
Exception - if an error occurs.

setConfiguration

public void setConfiguration(Object config)
Description copied from class: Connector
Sets the configuration for use by this connector.

Specified by:
setConfiguration in interface ConnectorInterface
Overrides:
setConfiguration in class Connector
Parameters:
config - The configuration object (an instance of ConnectorConfig)

setContext

public void setContext(Object aContext)
Description copied from class: Connector
Sets the parent task of the connector - an AssemblyLine object.

Specified by:
setContext in interface ConnectorInterface
Overrides:
setContext in class Connector
Parameters:
aContext - the new context to which the connector will belong.

setCurrent

public void setCurrent(Entry entry,
                       SearchCriteria search)
Description copied from class: Connector
Change the SearchCriteria search to find the entry sent as a parameter. Used when multiple entries found, and you want to modify or delete one of them. Only a few connectors need to implement this.

Specified by:
setCurrent in interface ConnectorInterface
Overrides:
setCurrent in class Connector
Parameters:
entry - The entry we want to find for modification/delete
search - The SearchCriteria we want to change

setDebugMode

public void setDebugMode(boolean debug)
Description copied from class: Connector

Modify the debug mode of the component. Also modifies the debug mode of the associated Parser. May be accessed by different threads.

This method is for internal use only. Do not call it from user code.

Overrides:
setDebugMode in class Connector
Parameters:
debug - the debug mode setting

setLog

public void setLog(Log logger)
Description copied from class: Connector
Sets the Log object to use for logging messages

Specified by:
setLog in interface ConnectorInterface
Overrides:
setLog in class Connector
Parameters:
logger - The Log object
See Also:
RSInterface.logmsg(String)

setMaxDuplicateEntries

public void setMaxDuplicateEntries(int mde)
Description copied from class: Connector
Sets the maximum number of duplicate entries to buffer up. This is used by the lookup functions when a lookup returns more than one entry.

Specified by:
setMaxDuplicateEntries in interface ConnectorInterface
Overrides:
setMaxDuplicateEntries in class Connector
Parameters:
mde - The maximum number of entries to buffer up

setModes

public void setModes(String[] modes)
Description copied from class: Connector
Sets the connector's modes.

Overrides:
setModes in class Connector
Parameters:
modes - The connector's modes

setModes

public void setModes(Vector<String> modes)
Description copied from class: Connector
Sets the connector's modes.

Overrides:
setModes in class Connector
Parameters:
modes - The connector's modes

setName

public void setName(String name)
Description copied from class: Connector
Set the name for the connector. This name is used by the logmsg/debug functions.

Specified by:
setName in interface ConnectorInterface
Overrides:
setName in class Connector
Parameters:
name - The name for the connector

setParam

public void setParam(String param,
                     String value)
Description copied from class: Connector
Adds or replaces a connector configuration parameter.

Specified by:
setParam in interface ConnectorInterface
Overrides:
setParam in class Connector
Parameters:
param - The parameter name
value - The parameter value

setParser

public void setParser(ParserInterface parser)
               throws IOException
Description copied from class: Connector
Sets the connector's parser.

Overrides:
setParser in class Connector
Parameters:
parser - The parser interface to use
Throws:
IOException - if an error occurs.

setProperty

public void setProperty(Object p1,
                        Object p2)
Description copied from class: Connector
Set connector property. This method sets a named property to a given value. Note that connector properties are very different from the connector configuration.

Overrides:
setProperty in class Connector
Parameters:
p1 - The property name
p2 - The property value

setRSInterface

public void setRSInterface(RSInterface rsi)
Description copied from class: Connector
Sets the RSInterface for this connector to use. The RSInterface object is used to get access system wide parameters such as parser configurations.

Specified by:
setRSInterface in interface ConnectorInterface
Overrides:
setRSInterface in class Connector
Parameters:
rsi - The RSInterface object

terminate

public void terminate()
               throws Exception
Description copied from class: Connector
Terminate the connector. This function closes all connection and releases all resources used by the connector. This function also calls the parser's closeParser() method if a parser is active.

Specified by:
terminate in interface ConnectorInterface
Overrides:
terminate in class Connector
Throws:
Exception - if an error occurs.

terminateServer

public void terminateServer()
                     throws Exception
Description copied from class: Connector
Interrupts and shuts down the Connector if it runs in Server Mode. Does not have effect if the Connector is not running in Server Mode.

Specified by:
terminateServer in interface ConnectorInterface
Overrides:
terminateServer in class Connector
Throws:
Exception - if an error occurs

toString

public String toString()
Overrides:
toString in class Object

getDelegate

public ConnectorInterface getDelegate()

setId

public void setId(String id)
Parameters:
id - the id to set