org.pentaho.di.job
Class JobEntryLoader

java.lang.Object
  extended by org.pentaho.di.job.JobEntryLoader
All Implemented Interfaces:
org.pentaho.di.i18n.LoaderInputStreamProvider

public class JobEntryLoader
extends Object
implements org.pentaho.di.i18n.LoaderInputStreamProvider

Takes care of loading job-entries or job-entry plugins.

Since:
9-may-2005
Author:
Matt

Method Summary
 JobPlugin findJobEntriesWithClassName(String cn)
           
 JobPlugin findJobEntriesWithDescription(String description)
           
 JobPlugin findJobEntriesWithID(String stepid)
           
 JobPlugin findJobPluginWithID(String stepid)
           
 String[] getCategories(int type)
          Get a unique list of categories.
 String[] getCategories(int type, String locale)
          Get a unique list of categories.
 InputStream getInputStreamForFile(String filename)
          Search through all jarfiles in all steps and try to find a certain file in it.
static JobEntryLoader getInstance()
           
 JobPlugin[] getJobEntriesWithType(int type)
           
 JobEntryInterface getJobEntryClass(JobPlugin sp)
           
 JobEntryInterface getJobEntryClass(String desc)
           
 String getJobEntryID(JobEntryInterface jei)
          Determine the step's id based upon the StepMetaInterface we get...
 JobPlugin getJobEntryWithType(int type, int index)
           
 List<Object[]> getPluginInformation()
           
 String[] getPluginPackages()
           
static void init()
          Read all native and plug-in job entries
 boolean isInitialized()
           
 Class<?> loadClass(JobPlugin sp, String className)
           
 Class<?> loadClass(String desc, String className)
           
 Class<?> loadClassByID(String id, String className)
           
 int nrJobEntriesWithType(int type)
          Count's the number of steps with a certain type.
 boolean read()
          Deprecated. in favor of static method init() to flag the exception throwing in this method. (change of contract)
 boolean readNatives()
           
 boolean readPlugins()
          The 'new' method.
 void setInitialized(boolean initialized)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static final JobEntryLoader getInstance()

read

public boolean read()
             throws org.pentaho.di.core.exception.KettleException
Deprecated. in favor of static method init() to flag the exception throwing in this method. (change of contract)

Read all native and plug-in job entries

Returns:
true if all went well
Throws:
org.pentaho.di.core.exception.KettleException - in case an error occurs.

init

public static final void init()
                       throws org.pentaho.di.core.exception.KettleException
Read all native and plug-in job entries

Throws:
org.pentaho.di.core.exception.KettleException - In case a plug-in could not be loaded or something else went wrong in the process.

readNatives

public boolean readNatives()

readPlugins

public boolean readPlugins()
The 'new' method. Uses plugin loader, which uses VFS to load plugins.


getJobEntryClass

public JobEntryInterface getJobEntryClass(String desc)
                                   throws org.pentaho.di.core.exception.KettleStepLoaderException
Throws:
org.pentaho.di.core.exception.KettleStepLoaderException

loadClass

public Class<?> loadClass(JobPlugin sp,
                          String className)
                   throws org.pentaho.di.core.exception.KettleStepLoaderException
Throws:
org.pentaho.di.core.exception.KettleStepLoaderException

loadClass

public Class<?> loadClass(String desc,
                          String className)
                   throws org.pentaho.di.core.exception.KettleStepLoaderException
Throws:
org.pentaho.di.core.exception.KettleStepLoaderException

loadClassByID

public Class<?> loadClassByID(String id,
                              String className)
                       throws org.pentaho.di.core.exception.KettleStepLoaderException
Throws:
org.pentaho.di.core.exception.KettleStepLoaderException

getJobEntryClass

public JobEntryInterface getJobEntryClass(JobPlugin sp)
                                   throws org.pentaho.di.core.exception.KettleStepLoaderException
Throws:
org.pentaho.di.core.exception.KettleStepLoaderException

nrJobEntriesWithType

public int nrJobEntriesWithType(int type)
Count's the number of steps with a certain type.

Parameters:
type - One of StepPlugin.TYPE_NATIVE, StepPlugin.TYPE_PLUGIN, StepPlugin.TYPE_ALL
Returns:
The number of steps with a certain type.

getJobEntryWithType

public JobPlugin getJobEntryWithType(int type,
                                     int index)

findJobPluginWithID

public JobPlugin findJobPluginWithID(String stepid)
Parameters:
stepid -
Returns:
The StepPlugin for the step with the specified ID. Null is returned when the ID couldn't be found!

getJobEntriesWithType

public JobPlugin[] getJobEntriesWithType(int type)

findJobEntriesWithID

public JobPlugin findJobEntriesWithID(String stepid)

findJobEntriesWithClassName

public JobPlugin findJobEntriesWithClassName(String cn)

findJobEntriesWithDescription

public JobPlugin findJobEntriesWithDescription(String description)

getJobEntryID

public String getJobEntryID(JobEntryInterface jei)
Determine the step's id based upon the StepMetaInterface we get...

Parameters:
jei - The StepMetaInterface
Returns:
the step's id or null if we couldn't find anything.

isInitialized

public boolean isInitialized()
Returns:
Returns the initialized.

setInitialized

public void setInitialized(boolean initialized)
Parameters:
initialized - The initialized to set.

getInputStreamForFile

public InputStream getInputStreamForFile(String filename)
Search through all jarfiles in all steps and try to find a certain file in it.

Specified by:
getInputStreamForFile in interface org.pentaho.di.i18n.LoaderInputStreamProvider
Parameters:
filename -
Returns:
an inputstream for the given file.

getPluginPackages

public String[] getPluginPackages()
Returns:
a unique array of all the job entry plugin package names

getCategories

public String[] getCategories(int type)
Get a unique list of categories. We can use this to display in trees etc.

Parameters:
type - The type of job entry plugins for which we want to categories...
Returns:
a unique list of categories

getCategories

public String[] getCategories(int type,
                              String locale)
Get a unique list of categories. We can use this to display in trees etc.

Parameters:
type - The type of job entry plugins for which we want to categories...
Returns:
a unique list of categories

getPluginInformation

public List<Object[]> getPluginInformation()