flink-instrumentation/workspace/flink-1.4.1-instrumented/flink-1.4.1/flink-core/src/main/java/org/apache/flink/configuration/MemorySize.java
/**
	 * Parses the given string as bytes.
	 * The supported expressions are listed under {@link MemorySize}.
	 * 
	 * @param text The string to parse
	 * @return The parsed size, in bytes.
	 * 
	 * @throws IllegalArgumentException Thrown, if the expression cannot be parsed.
	 */
Parses the given string as bytes.
The supported expressions are listed under  MemorySize.

@param text The string to parse
@return The parsed size, in bytes.

@throws IllegalArgumentException Thrown, if the expression cannot be parsed.
Parses the given string as bytes . The supported expressions are listed under MemorySize . @param text The string to parse @return The parsed size in bytes . @throws IllegalArgumentException Thrown if the expression cannot be parsed .
public static long parseBytes(String text) throws IllegalArgumentException {
		checkNotNull(text, "text");
		final String trimmed = text.trim();
		checkArgument(!trimmed.isEmpty(), "argument is an empty- or whitespace-only string");
		final int len = trimmed.length();
		int pos = 0;
		char current;
		while (pos < len && (current = trimmed.charAt(pos)) >= '0' && current <= '9') {
			pos++;
		}
		final String number = trimmed.substring(0, pos);
		final String unit = trimmed.substring(pos).trim().toLowerCase(Locale.US);
		if (number.isEmpty()) {
			throw new NumberFormatException("text does not start with a number");
		}
		final long value;
		try {
			value = Long.parseLong(number); 
		}
		catch (NumberFormatException e) {
			throw new IllegalArgumentException("The value '" + number +
					"' cannot be re represented as 64bit number (numeric overflow).");
		}
		final long multiplier;
		if (unit.isEmpty()) {
			multiplier = 1L;
		}
		else {
			if (matchesAny(unit, BYTES_UNITS)) {
				multiplier = 1L;
			}
			else if (matchesAny(unit, KILO_BYTES_UNITS)) {
				multiplier = 1024L;
			}
			else if (matchesAny(unit, MEGA_BYTES_UNITS)) {
				multiplier = 1024L * 1024L;
			}
			else if (matchesAny(unit, GIGA_BYTES_UNITS)) {
				multiplier = 1024L * 1024L * 1024L;
			}
			else if (matchesAny(unit, TERA_BYTES_UNITS)) {
				multiplier = 1024L * 1024L * 1024L * 1024L;
			}
			else {
				throw new IllegalArgumentException("Memory size unit '" + unit + 
						"' does not match any of the recognized units: " + ALL_UNITS);
			}
		}
		final long result = value * multiplier;
		if (result / multiplier != value) {
			throw new IllegalArgumentException("The value '" + text + 
					"' cannot be re represented as 64bit number of bytes (numeric overflow).");
		}
		return result;
	}
public static long parseBytes ( String text ) throws IllegalArgumentException { checkNotNull ( text , "text" ) ; final String trimmed = text . trim ( ) ; checkArgument ( ! trimmed . isEmpty ( ) , "argument is an empty- or whitespace-only string" ) ; final int len = trimmed . length ( ) ; int pos = 0 ; char current ; while ( pos < len && ( current = trimmed . charAt ( pos ) ) >= '0' && current <= '9' ) { pos ++ ; } final String number = trimmed . substring ( 0 , pos ) ; final String unit = trimmed . substring ( pos ) . trim ( ) . toLowerCase ( Locale . US ) ; if ( number . isEmpty ( ) ) { throw new NumberFormatException ( "text does not start with a number" ) ; } final long value ; try { value = Long . parseLong ( number ) ; } catch ( NumberFormatException e ) { throw new IllegalArgumentException ( "The value '" + number + "' cannot be re represented as 64bit number (numeric overflow)." ) ; } final long multiplier ; if ( unit . isEmpty ( ) ) { multiplier = 1L ; } else { if ( matchesAny ( unit , BYTES_UNITS ) ) { multiplier = 1L ; } else if ( matchesAny ( unit , KILO_BYTES_UNITS ) ) { multiplier = 1024L ; } else if ( matchesAny ( unit , MEGA_BYTES_UNITS ) ) { multiplier = 1024L * 1024L ; } else if ( matchesAny ( unit , GIGA_BYTES_UNITS ) ) { multiplier = 1024L * 1024L * 1024L ; } else if ( matchesAny ( unit , TERA_BYTES_UNITS ) ) { multiplier = 1024L * 1024L * 1024L * 1024L ; } else { throw new IllegalArgumentException ( "Memory size unit '" + unit + "' does not match any of the recognized units: " + ALL_UNITS ) ; } } final long result = value * multiplier ; if ( result / multiplier != value ) { throw new IllegalArgumentException ( "The value '" + text + "' cannot be re represented as 64bit number of bytes (numeric overflow)." ) ; } return result ; }
Parses the given string as bytes.
Parses the given string as bytes .
// this throws a NumberFormatException on overflow // check for overflow