1796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org/* 2796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * Copyright (C) 2009 The Guava Authors 3796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * 4796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * use this file except in compliance with the License. You may obtain a copy 6796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * of the License at 7796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * 8796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * http://www.apache.org/licenses/LICENSE-2.0 9796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * 10796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * Unless required by applicable law or agreed to in writing, software 11796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * License for the specific language governing permissions and limitations under 14796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * the License. 15796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org */ 1687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org 17796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.orgpackage com.google.common.collect.testing.testers; 18796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 19796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.orgimport java.lang.reflect.Method; 20796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 21796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org/** 22796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * This class is emulated in GWT. 23796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * 24796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * @author Hayward Chan 25796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org */ 26796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.orgclass Platform { 27796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 2887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org /** 2987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org * Delegate to {@link Class#getMethod(String, Class[])}. Not 3087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org * usable in GWT. 3187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org */ 3287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org static Method getMethod(Class<?> clazz, String methodName) { 33796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org try { 34796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org return clazz.getMethod(methodName); 35796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } catch (NoSuchMethodException e) { 36796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org throw new RuntimeException(e); 37796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } 38796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } 39796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 40796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org /** 41796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * Format the template with args, only supports the placeholder 42796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org * {@code %s}. 43796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org */ 44796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org static String format(String template, Object... args) { 45796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org return String.format(template, args); 46796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } 47796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 48796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org /** See {@link ListListIteratorTester} */ 49796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org static int listListIteratorTesterNumIterations() { 50796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org return 4; 51796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } 52796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org 53796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org /** See {@link CollectionIteratorTester} */ 54796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org static int collectionIteratorTesterNumIterations() { 55796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org return 5; 56796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org } 57796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org} 58796a08a9ccb0ab5cb47ce24ff80aea3e085aa34fjohannkoenig@chromium.org