// ============================================================================
//
// Copyright (C) 2006-2017 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.components.api.component.runtime;

/**
 * Basic interface for defining properties and common methods required for Runtimes of components without connectors, or
 * components which need some pre-processing before performing the actual job.
 */
public interface ComponentDriverInitialization extends RuntimableRuntime {

    /**
     * Execute some code before the job or flow is started. This code will be called on driver node only, before actual
     * runtime process. In case of components with connectors, it will be called before serializing and sending runtimes
     * to worker nodes.
     * <p>
     * In case of components without connectors, no other work should be performed for such runtime, only this method
     * will be called after runtime initialization.
     * </p>
     * 
     * @throw an RuntimeException if anything fails during the run of this method.
     */
    void runAtDriver();

}

@@ -584,16 +584,129 @@
 ime;%0D%0A%0D%0A
+import org.talend.components.api.container.RuntimeContainer;%0D%0Aimport org.talend.daikon.properties.Properties;%0D%0A%0D%0A
 /**%0D%0A * 
@@ -955,16 +955,38 @@
 lization
+%3CP extends Properties%3E
  extends
@@ -1003,16 +1003,19 @@
 eRuntime
+%3CP%3E
  %7B%0D%0A%0D%0A  
@@ -1495,16 +1495,116 @@
     * %0D%0A
+     * @param container container instance to get access or share data with the running container.%0D%0A
      * @
@@ -1688,16 +1688,16 @@
     */%0D%0A
-
     void
@@ -1709,16 +1709,42 @@
 tDriver(
+RuntimeContainer container
 );%0D%0A%0D%0A%7D%0D

add RuntimeContainer parameter for ComponentDriverInitialization.runAtDriver() method (#586)