All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vertx.kotlin.core.cli.Option.kt Maven / Gradle / Ivy

There is a newer version: 5.0.0.CR1
Show newest version
/*
 * Copyright 2019 Red Hat, Inc.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 * The Eclipse Public License is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * The Apache License v2.0 is available at
 * http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.kotlin.core.cli

import io.vertx.core.cli.Option

/**
 * A function providing a DSL for building [io.vertx.core.cli.Option] objects.
 *
 * Models command line options. Options are values passed to a command line interface using -x or --x. Supported
 * syntaxes depend on the parser.
 * 

* Short name is generally used with a single dash, while long name requires a double-dash. * * @param argName Sets te arg name for this option. * @param choices Sets the list of values accepted by this option. If the value set by the user does not match once of these values, a [io.vertx.core.cli.InvalidValueException] exception is thrown. * @param defaultValue Sets the default value of this option * @param description Sets te description of this option. * @param flag Configures the current [io.vertx.core.cli.Option] to be a flag. It will be evaluated to true if it's found in the command line. If you need a flag that may receive a value, use, in this order:

   option.setFlag(true).setSingleValued(true) 
* @param help Sets whether or not this option is a "help" option * @param hidden Sets whether or not this option should be hidden * @param longName Sets the long name of this option. * @param multiValued Sets whether or not this option can receive several values. * @param required Sets whether or not this option is mandatory. * @param shortName Sets the short name of this option. * @param singleValued Sets whether or not this option can receive a value. * *

* NOTE: This function has been automatically generated from the [io.vertx.core.cli.Option original] using Vert.x codegen. */ fun optionOf( argName: String? = null, choices: Iterable? = null, defaultValue: String? = null, description: String? = null, flag: Boolean? = null, help: Boolean? = null, hidden: Boolean? = null, longName: String? = null, multiValued: Boolean? = null, required: Boolean? = null, shortName: String? = null, singleValued: Boolean? = null): Option = io.vertx.core.cli.Option().apply { if (argName != null) { this.setArgName(argName) } if (choices != null) { this.setChoices(choices.toSet()) } if (defaultValue != null) { this.setDefaultValue(defaultValue) } if (description != null) { this.setDescription(description) } if (flag != null) { this.setFlag(flag) } if (help != null) { this.setHelp(help) } if (hidden != null) { this.setHidden(hidden) } if (longName != null) { this.setLongName(longName) } if (multiValued != null) { this.setMultiValued(multiValued) } if (required != null) { this.setRequired(required) } if (shortName != null) { this.setShortName(shortName) } if (singleValued != null) { this.setSingleValued(singleValued) } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy