# Creating a routine and declaring a static variable

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

   Information noteNote: 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;
   	}
   }
   ```