Package com.ibm.di.fc

Class Function

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Log logger
    • Constructor Summary

      Constructors 
      Constructor Description
      Function()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void debug​(java.lang.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
      java.lang.Object getContext()
      Retrieves used defined context.
      boolean getDebug()  
      Log getLog()
      Returns the logger object in use by this FC
      java.lang.Object getParam​(java.lang.String param)
      Gets a named parameter in the configuration.
      RSInterface getRSInterface()
      Returns the current RSInterface object in use by this Function.
      java.awt.Component getUI()
      This method returns null.
      void initialize()
      Calls initialize(null)
      void initialize​(java.lang.Object object)
      This method is/should be called once after the object has been given its configuration
      void logmsg​(java.lang.String msg)
      Logs a message to the currently used log
      java.lang.Object querySchema​(java.lang.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​(java.lang.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​(java.lang.String param, java.lang.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
    • Field Detail

      • logger

        protected Log logger
    • Constructor Detail

      • Function

        public Function()
    • Method Detail

      • initialize

        public void initialize​(java.lang.Object object)
                        throws java.lang.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:
        java.lang.Exception
      • terminate

        public void terminate()
                       throws java.lang.Exception
        This method is/should be called once before the object is released
        Specified by:
        terminate in interface FunctionInterface
        Throws:
        java.lang.Exception
      • getUI

        public java.awt.Component getUI()
        This method returns null.
        Specified by:
        getUI in interface FunctionInterface
        Returns:
        null
      • updateSchema

        public boolean updateSchema​(FunctionConfig config)
                             throws java.lang.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:
        java.lang.Exception
      • getParam

        public java.lang.Object getParam​(java.lang.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​(java.lang.String param,
                             java.lang.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​(java.lang.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 java.lang.Exception
        Calls initialize(null)
        Throws:
        java.lang.Exception
      • debug

        public void debug​(java.lang.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 java.lang.Exception
        Verifies that initialize() has been called at least once after the FC has been loaded or the terminate() method has been called.
        Throws:
        java.lang.Exception - thrown if initialize() hasn't been called
      • getContext

        public java.lang.Object getContext()
        Retrieves used defined context.
        Specified by:
        getContext in interface FunctionInterface
        Returns:
        the user defined context.
      • setContext

        public void setContext​(java.lang.Object aContext)
        Sets the user defined context.
        Specified by:
        setContext in interface FunctionInterface
        Parameters:
        aContext - String
      • querySchema

        public java.lang.Object querySchema​(java.lang.Object source)
                                     throws java.lang.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:
        java.lang.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
      • 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