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