Creating a routine and declaring a static variable - 7.2

Talend ESB Studio User Guide

EnrichVersion
7.2
EnrichProdName
Talend ESB
EnrichPlatform
Talend Studio
task
Design and Development

Procedure

  1. In the Repository tree view, create a new routine MyRoutine.
  2. Declare a static variable in the routine and set its value as null, for example:
    private static String name = null;                      
  3. Add the setter/getter methods for this variable and press Ctrl+S to save the changes.
    public static synchronized void setValue(String message) {
        name=message;
    }
    
    public static synchronized String getValue() {
        return name;
    }                      
    Note: The complete Java code for this routine is as below:
    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;
    	}
    }