// Copyright 2014 The Bazel Authors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.devtools.common.options; import java.util.Arrays; import java.util.List; /** * Interface for parsing options from a single options specification class. * * The {@link Options#parse(Class, String...)} method in this class has no clear * use case. Instead, use the {@link OptionsParser} class directly, as in this * code snippet: * *
* OptionsParser parser = OptionsParser.newOptionsParser(FooOptions.class);
* try {
* parser.parse(FooOptions.class, args);
* } catch (OptionsParsingException e) {
* System.err.print("Error parsing options: " + e.getMessage());
* System.err.print(options.getUsage());
* System.exit(1);
* }
* FooOptions foo = parser.getOptions(FooOptions.class);
* List<String> otherArguments = parser.getResidue();
*
*
* Using this class in this case actually results in more code.
*
* @see OptionsParser for parsing options from multiple options specification classes.
*/
public class Options