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

org.etlunit.util.cli.CLIOption Maven / Gradle / Ivy

package org.etlunit.util.cli;

import org.apache.commons.cli.Option;

@java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD})
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
public @interface CLIOption
{
	enum value_type
	{
		required,
		optional,
		not_allowed
	}

	;

	int UNLIMITED_VALUES = Option.UNLIMITED_VALUES;

	String name();

	/**
	 * Default is the same as the name
	 *
	 * @return
	 */
	String longName() default "";

	String description() default "";

	/**
	 * Default is false
	 *
	 * @return
	 */
	boolean required() default false;

	/**
	 * default is value_type.optional
	 *
	 * @return
	 */
	value_type valueType() default value_type.optional;

	/**
	 * Default is 1
	 *
	 * @return
	 */
	int valueCardinality() default 1;

	/**
	 * Defines char used to separate list entries in a value list.  Default is a comma.
	 *
	 * @return
	 */
	String valueSeparator() default ",";

	/**
	 * Default is an empty string
	 *
	 * @return
	 */
	String defaultValue() default "";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy