Créer une routine et déclarer une variable statique - 7.0

Guide d'utilisation de Talend ESB Studio

EnrichVersion
7.0
EnrichProdName
Talend ESB
EnrichPlatform
Studio Talend
task
Création et développement
Dans cet exemple, vous allez créer une routine avec une variable statique et ajouter les méthodes getter/setter pour rendre la variable accessible depuis différents Jobs.

Procédure

  1. Dans la vue Repository, cliquez sur Code pour accéder au dossier routines.
  2. Cliquez-droit sur Routines et sélectionnez Create routine pour créer une routine.
  3. Nommez-la MyRoutine.
  4. Déclarez une variable statique dans la routine et configurez sa valeur à null, par exemple :
    private static String name = null;
                        
  5. Ajoutez les méthodes getter/setter pour cette variable dans la routine et appuyez sur Ctrl+S pour sauvegarder la routine.
    
    public static synchronized void setValue(String message) {
            name=message;
        }
                                    
    public static synchronized String getValue() {
            return name;
        }
                                
    Remarque : Le code Java complet pour cette routine est le suivant :
    package routines;
    /*
    * user specification: the function's comment should contain keys as follows: 1. write about the function's comment.but
    * it must be before the "{talendTypes}" key.
    *
    * 2. {talendTypes} 's value must be talend Type, it is required . its value should be one of: String, char | Character,
    * long | Long, int | Integer, boolean | Boolean, byte | Byte, Date, double | Double, float | Float, Object, short |
    * Short
    *
    * 3. {Category} define a category for the Function. it is required. its value is user-defined .
    *
    * 4. {param} 's format is: {param} <type>[(<default value or closed list values>)] <name>[ : <comment>]
    *
    * <type> 's value should be one of: string, int, list, double, object, boolean, long, char, date. <name>'s value is the
    * Function's parameter name. the {param} is optional. so if you the Function without the parameters. the {param} don't
    * added. you can have many parameters for the Function.
    *
    * 5. {example} gives a example for the Function. it is optional.
    */
    public class MyRoutine {
        private static String name = null;
        /**
        * helloExample: not return value, only print "hello" + message.
        *
        *
        * {talendTypes} String
        *
        * {Category} User Defined
        *
        * {param} string("world") input: The string need to be printed.
        *
        * {example} helloExemple("world") # hello world !.
        */
        public static void helloExample(String message) {
            if (message == null) {
                message = "World"; //$NON-NLS-1$
            }
            System.out.println("Hello " + message + " !"); //$NON-NLS-1$ //$NON-NLS-2$
         }
                                        
         public static synchronized void setValue(String message) {
             name=message;
         }
                                        
         public static synchronized String getValue() {
             return name;
        }
     }