Home | History | Annotate | Download | only in runner
      1 /*
      2  * Copyright (C) 2011 Google Inc.
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
      5  * in compliance with the License. You may obtain a copy of the License at
      6  *
      7  * http://www.apache.org/licenses/LICENSE-2.0
      8  *
      9  * Unless required by applicable law or agreed to in writing, software distributed under the License
     10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
     11  * or implied. See the License for the specific language governing permissions and limitations under
     12  * the License.
     13  */
     14 
     15 package com.google.caliper.runner;
     16 
     17 import java.io.PrintWriter;
     18 
     19 /**
     20  *
     21  */
     22 @SuppressWarnings("serial")
     23 public class InvalidBenchmarkException extends RuntimeException {
     24   public InvalidBenchmarkException(String message, Object... args) {
     25     super(String.format(message, fixArgs(args)));
     26   }
     27 
     28   private static Object[] fixArgs(Object[] args) {
     29     for (int i = 0; i < args.length; i++) {
     30       if (args[i] instanceof Class) {
     31         args[i] = ((Class<?>) args[i]).getSimpleName();
     32       }
     33     }
     34     return args;
     35   }
     36 
     37   public void display(PrintWriter writer) {
     38     writer.println(getMessage());
     39   }
     40 }
     41