--- old/test/lib/testlibrary/jdk/testlibrary/InputArguments.java 2015-11-09 20:41:00.000000000 +0300 +++ /dev/null 2015-11-09 20:41:00.000000000 +0300 @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.testlibrary; - -import java.lang.management.RuntimeMXBean; -import java.lang.management.ManagementFactory; -import java.util.List; - -/** - * This class provides access to the input arguments to the VM. - */ -public class InputArguments { - private static final List args; - - static { - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - args = runtimeMxBean.getInputArguments(); - } - - /** - * Returns true if {@code arg} is an input argument to the VM. - * - * This is useful for checking boolean flags such as -XX:+UseSerialGC or - * -XX:-UsePerfData. - * - * @param arg The name of the argument. - * @return {@code true} if the given argument is an input argument, - * otherwise {@code false}. - */ - public static boolean contains(String arg) { - return args.contains(arg); - } - - /** - * Returns true if {@code prefix} is the start of an input argument to the - * VM. - * - * This is useful for checking if flags describing a quantity, such as - * -XX:+MaxMetaspaceSize=100m, is set without having to know the quantity. - * To check if the flag -XX:MaxMetaspaceSize is set, use - * {@code InputArguments.containsPrefix("-XX:MaxMetaspaceSize")}. - * - * @param prefix The start of the argument. - * @return {@code true} if the given argument is the start of an input - * argument, otherwise {@code false}. - */ - public static boolean containsPrefix(String prefix) { - for (String arg : args) { - if (arg.startsWith(prefix)) { - return true; - } - } - return false; - } - - /** - * Get the string containing input arguments passed to the VM - */ - public static String getInputArguments() { - StringBuilder result = new StringBuilder(); - for (String arg : args) - result.append(arg).append(' '); - - return result.toString(); - } - -} --- /dev/null 2015-11-09 20:41:00.000000000 +0300 +++ new/test/lib/testlibrary/jdk/testlibrary/management/RuntimeMXBeanTool.java 2015-11-09 20:41:00.000000000 +0300 @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package jdk.testlibrary.management; + +import java.lang.management.RuntimeMXBean; +import java.lang.management.ManagementFactory; +import java.util.List; + +/** + * Few utility methods to use RuntimeMXBean. + */ +public class RuntimeMXBeanTool { + private static final RuntimeMXBean runtimeMxBean; + private static final List args; + + static { + runtimeMxBean = ManagementFactory.getRuntimeMXBean(); + args = runtimeMxBean.getInputArguments(); + } + + /** + * Returns true if {@code arg} is an input argument to the VM. + * + * This is useful for checking boolean flags such as -XX:+UseSerialGC or + * -XX:-UsePerfData. + * + * @param arg The name of the argument. + * @return {@code true} if the given argument is an input argument, + * otherwise {@code false}. + */ + public static boolean inputArgumentsContain(String arg) { + return args.contains(arg); + } + + /** + * Returns true if {@code prefix} is the start of an input argument to the + * VM. + * + * This is useful for checking if flags describing a quantity, such as + * -XX:+MaxMetaspaceSize=100m, is set without having to know the quantity. + * To check if the flag -XX:MaxMetaspaceSize is set, use + * {@code InputArguments.containsPrefix("-XX:MaxMetaspaceSize")}. + * + * @param prefix The start of the argument. + * @return {@code true} if the given argument is the start of an input + * argument, otherwise {@code false}. + */ + public static boolean anInputArgumentStartsWith(String prefix) { + for (String arg : args) { + if (arg.startsWith(prefix)) { + return true; + } + } + return false; + } + + /** + * Get the string containing input arguments passed to the VM + */ + public static String getInputArguments() { + StringBuilder result = new StringBuilder(); + for (String arg : args) + result.append(arg).append(' '); + + return result.toString(); + } + +}