1e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin/* 2e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Copyright (C) 2011 Google Inc. 3e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * 4e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * in compliance with the License. You may obtain a copy of the License at 6e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * 7e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * http://www.apache.org/licenses/LICENSE-2.0 8e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * 9e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Unless required by applicable law or agreed to in writing, software distributed under the License 10e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * or implied. See the License for the specific language governing permissions and limitations under 12e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * the License. 13e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin */ 14e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin 15e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinpackage com.google.caliper.util; 16e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin 17e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport java.io.PrintWriter; 18e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin 19e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin/** 20e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Exception used to abort command-line processing because the user has asked for help (using either 21e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * --help or -h). 22e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin */ 23e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin@SuppressWarnings("serial") // who would serialize a command-line parsing error? 24e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinpublic final class DisplayUsageException extends InvalidCommandException { 25e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin public DisplayUsageException() { 26e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin super("(User asked for --help. This message should not appear anywhere.)"); 27e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin } 28e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin 29e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin @Override public void display(PrintWriter writer) { 30e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin displayUsage(writer); 31e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin } 32e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin 33e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin @Override public int exitCode() { 34e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin return 0; 35e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin } 36e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin} 37