com.ibm.di.fc
Class Function

java.lang.Object
  extended by com.ibm.di.fc.Function
All Implemented Interfaces:
FunctionInterface, VersionInfoInterface
Direct Known Subclasses:
AssemblyLineFC, Axis2WSClientFC, AxisEasyInvokeSoapWS, AxisJavaToSoap, AxisSoapToJava, CastorJavaToXML, CastorXMLToJava, CBEGeneratorFC, CloseIdMLFC, ComplexTypesGenerator, DataCleanserFC, DeltaFC, EmfSdoToXml, EmfXmlToSdo, InitITRegistryFC, InvokeSoapWS, JavaClassFC, MemBufferQFC, OpenIdMLFC, ParserFC, RemoteCmdLineFC, RollingIdMLFC, SapR3RfcFC, ScriptedFC, SendEMailFC, WrapSoap, zOSTSOCommandLine

public abstract class Function
extends Object
implements FunctionInterface, VersionInfoInterface

This abstract class contains a default implementation of all methods in the FunctionInterface except the the perform(obj) method. Every Function Component implementation class should inherit from this class.


Field Summary
protected  Log logger
          Log
 
Constructor Summary
Function()
           
 
Method Summary
 void debug(String aMsg)
          Writes a message to the log if debug/detailed logging is turned on
 BaseConfiguration getConfiguration()
          This method returns the function's current configuration
 Object getContext()
          Retrieves used defined context.
 boolean getDebug()
           
 Log getLog()
          Returns the logger object in use by this FC
 Object getParam(String param)
          Gets a named parameter in the configuration.
 RSInterface getRSInterface()
          Returns the current RSInterface object in use by this Function.
 Component getUI()
          This method returns null.
 void initialize()
          Calls initialize(null)
 void initialize(Object object)
          This method is/should be called once after the object has been given its configuration
 void logmsg(String msg)
          Logs a message to the currently used log
 Object querySchema(Object source)
          This method translates to whatever means a function component has to discover schema for a connection.
 void setConfiguration(BaseConfiguration configuration)
          This method is/should be called once after the object has been given its configuration
 void setContext(Object aContext)
          Sets the user defined context.
 void setDebug(boolean debug)
           Modify the debug mode setting of this component.
 void setLog(Log logger)
          Sets the logger object to use in this FC
 void setParam(String param, Object value)
          Sets a named parameter in the configuration.
 void setRSInterface(RSInterface rsi)
          Sets the RSInterface object for this Function.
 void terminate()
          This method is/should be called once before the object is released
 boolean updateSchema(FunctionConfig config)
          This method modifies the schema.
 void verifyInitialized()
          Verifies that initialize() has been called at least once after the FC has been loaded or the terminate() method has been called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.di.fc.FunctionInterface
perform
 
Methods inherited from interface com.ibm.di.server.VersionInfoInterface
getVersion
 

Field Detail

logger

protected Log logger
Log

Constructor Detail

Function

public Function()
Method Detail

initialize

public void initialize(Object object)
                throws Exception
This method is/should be called once after the object has been given its configuration

Specified by:
initialize in interface FunctionInterface
Parameters:
object -
Throws:
Exception

terminate

public void terminate()
               throws Exception
This method is/should be called once before the object is released

Specified by:
terminate in interface FunctionInterface
Throws:
Exception

setConfiguration

public void setConfiguration(BaseConfiguration configuration)
This method is/should be called once after the object has been given its configuration

Specified by:
setConfiguration in interface FunctionInterface
Parameters:
configuration - BaseConfiguration

getConfiguration

public BaseConfiguration getConfiguration()
This method returns the function's current configuration

Specified by:
getConfiguration in interface FunctionInterface
Returns:
BaseConfiguration

getUI

public Component getUI()
This method returns null.

Specified by:
getUI in interface FunctionInterface
Returns:
null

updateSchema

public boolean updateSchema(FunctionConfig config)
                     throws Exception
This method modifies the schema. The intent is to allow the FC to provide a dynamic schema definition based on a given configuration. The default implementation simply ignores the call.

Specified by:
updateSchema in interface FunctionInterface
Parameters:
config - FunctionConfig
Returns:
boolean
Throws:
Exception

getParam

public Object getParam(String param)
Gets a named parameter in the configuration.

Specified by:
getParam in interface FunctionInterface
Parameters:
param - the name of the parameter whose value this method returns
Returns:
the value of the parameter

setParam

public void setParam(String param,
                     Object value)
Sets a named parameter in the configuration.

Specified by:
setParam in interface FunctionInterface
Parameters:
param - The new parameter's name
value - The new parameter value

logmsg

public void logmsg(String msg)
Logs a message to the currently used log

Specified by:
logmsg in interface FunctionInterface
Parameters:
msg - The message appearing in the log

setLog

public void setLog(Log logger)
Sets the logger object to use in this FC

Specified by:
setLog in interface FunctionInterface
Parameters:
logger - The log object

getLog

public Log getLog()
Returns the logger object in use by this FC

Specified by:
getLog in interface FunctionInterface
Returns:
The log object

initialize

public void initialize()
                throws Exception
Calls initialize(null)

Throws:
Exception

debug

public void debug(String aMsg)
Writes a message to the log if debug/detailed logging is turned on

Specified by:
debug in interface FunctionInterface
Parameters:
aMsg - The message

verifyInitialized

public void verifyInitialized()
                       throws Exception
Verifies that initialize() has been called at least once after the FC has been loaded or the terminate() method has been called.

Throws:
Exception - thrown if initialize() hasn't been called

getContext

public Object getContext()
Retrieves used defined context.

Specified by:
getContext in interface FunctionInterface
Returns:
the user defined context.

setContext

public void setContext(Object aContext)
Sets the user defined context.

Specified by:
setContext in interface FunctionInterface
Parameters:
aContext - String

querySchema

public Object querySchema(Object source)
                   throws Exception
This method translates to whatever means a function component has to discover schema for a connection. The specific FC may implement this, in which case a Vector of Entry objects is returned for each column/attribute it discovered.

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 FunctionInterface
Parameters:
source - The object on which to discover schema. This may be an Entry or a string value. Boolean value will tell which schema to discover: true - InputMapSchema, false - OutputMapSchema. If not specified the default will be true. Might be a FunctionConfig object which will be set as the configuration of this object. Could be an array of objects (i.e. Object[]). Only the first object of a specific type will be considered, the rest (if any) will be ignored.
Returns:
A Vector of com.ibm.di.entry.Entry objects describing each entity
Throws:
Exception
See Also:
Entry, Vector

getDebug

public boolean getDebug()
Returns:
Whether this component is in debug mode. May be called by different threads.
Since:
7.0

setDebug

public void setDebug(boolean debug)

Modify the debug mode setting of this component. May be called by different threads.

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

Parameters:
debug - the debug mode setting
Since:
7.0

setRSInterface

public void setRSInterface(RSInterface rsi)
Sets the RSInterface object for this Function.

Specified by:
setRSInterface in interface FunctionInterface

getRSInterface

public RSInterface getRSInterface()
Returns the current RSInterface object in use by this Function. If not set, return com.ibm.di.server.RS.getServer()

Specified by:
getRSInterface in interface FunctionInterface
Returns:
Function's RSInterface object