Creating a routine and declaring a static variable - 7.3

Talend Open Studio User Guide

Version
7.3
Language
English
Product
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Module
Talend Studio
Content
Design and Development
Last publication date
2023-10-11
Available in...

Open Studio for Big Data

Open Studio for Data Integration

Open Studio for ESB

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;
    	}
    }