Options.java
/*
* Copyright (C) 2009 Christian Schulte <cs@schulte.it>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* o Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* o Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $JOMC: Options.java 5301 2016-08-30 02:04:33Z schulte $
*
*/
package org.jomc.cli.commands;
import java.io.File;
import org.apache.commons.cli.Option;
/**
* Command options.
*
* @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
*/
class Options
{
/**
* Command line option.
*/
static final Option CLASSPATH_OPTION;
/**
* Command line option.
*/
static final Option DOCUMENTS_OPTION;
/**
* Command line option.
*/
static final Option MODEL_CONTEXT_FACTORY_CLASSNAME_OPTION;
/**
* Command line option.
*/
static final Option MODEL_OPTION;
/**
* Command line option.
*/
static final Option MODLET_SCHEMA_SYSTEM_ID_OPTION;
/**
* Command line option.
*/
static final Option MODLET_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option PROVIDER_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option PLATFORM_PROVIDER_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option NO_MODLET_RESOURCE_VALIDATION_OPTION;
/**
* Command line option.
*/
static final Option MODULE_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option TRANSFORMER_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option NO_CLASSPATH_RESOLUTION_OPTION;
/**
* Command line option.
*/
static final Option NO_MODEL_PROCESSING_OPTION;
/**
* Command line option.
*/
static final Option NO_MODEL_RESOURCE_VALIDATION_OPTION;
/**
* Command line option.
*/
static final Option NO_JAVA_VALIDATION_OPTION;
/**
* Command line option.
*/
static final Option TEMPLATE_PROFILE_OPTION;
/**
* Command line option.
*/
static final Option DEFAULT_TEMPLATE_PROFILE_OPTION;
/**
* Command line option.
*/
static final Option DEFAULT_TEMPLATE_ENCODING_OPTION;
/**
* Command line option.
*/
static final Option TEMPLATE_LOCATION_OPTION;
/**
* Command line option.
*/
static final Option OUTPUT_ENCODING_OPTION;
/**
* Command line option.
*/
static final Option INPUT_ENCODING_OPTION;
/**
* Command line option.
*/
static final Option INDENTATION_STRING_OPTION;
/**
* Command line option.
*/
static final Option LINE_SEPARATOR_OPTION;
/**
* Command line option.
*/
static final Option LANGUAGE_OPTION;
/**
* Command line option.
*/
static final Option COUNTRY_OPTION;
/**
* Command line option.
*/
static final Option LOCALE_VARIANT_OPTION;
/**
* Command line option.
*/
static final Option IMPLEMENTATION_OPTION;
/**
* Command line option.
*/
static final Option MODULE_OPTION;
/**
* Command line option.
*/
static final Option SPECIFICATION_OPTION;
/**
* Command line option.
*/
static final Option CLASS_FILE_PROCESSOR_CLASSNAME_OPTION;
/**
* Command line option.
*/
static final Option NO_CLASS_PROCESSING_OPTION;
/**
* Command line option.
*/
static final Option RESOURCE_FILE_PROCESSOR_CLASSNAME_OPTION;
/**
* Command line option.
*/
static final Option NO_RESOURCE_PROCESSING_OPTION;
/**
* Command line option.
*/
static final Option RESOURCE_DIRECTORY_OPTION;
/**
* Command line option.
*/
static final Option SOURCE_FILE_PROCESSOR_CLASSNAME_OPTION;
/**
* Command line option.
*/
static final Option NO_SOURCE_PROCESSING_OPTION;
/**
* Command line option.
*/
static final Option SOURCE_DIRECTORY_OPTION;
/**
* Command line option.
*/
static final Option CLASSES_DIRECTORY_OPTION;
/**
* Command line option.
*/
static final Option STYLESHEET_OPTION;
/**
* Command line option.
*/
static final Option DOCUMENT_OPTION;
/**
* Command line option.
*/
static final Option DOCUMENT_ENCODING_OPTION;
/**
* Command line option.
*/
static final Option MODULE_VERSION_OPTION;
/**
* Command line option.
*/
static final Option MODULE_VENDOR_OPTION;
/**
* Command line option.
*/
static final Option MODULE_INCLUDES_OPTION;
/**
* Command line option.
*/
static final Option MODULE_EXCLUDES_OPTION;
/**
* Command line option.
*/
static final Option RESOURCES_OPTION;
/**
* Command line option.
*/
static final Option MODLET_OPTION;
/**
* Command line option.
*/
static final Option MODLET_VERSION_OPTION;
/**
* Command line option.
*/
static final Option MODLET_VENDOR_OPTION;
/**
* Command line option.
*/
static final Option MODLET_INCLUDES_OPTION;
/**
* Command line option.
*/
static final Option MODLET_EXCLUDES_OPTION;
/**
* Command line option.
*/
@Deprecated
static final Option TEMPLATE_ENCODING_OPTION;
/**
* Command line option.
*
* @since 1.10
*/
static final Option THREADS_OPTION;
static
{
CLASSPATH_OPTION =
Option.builder( "cp" ).longOpt( "classpath" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "classpathOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "classpathOptionArgumentDescription" ) ).build();
DOCUMENTS_OPTION =
Option.builder( "df" ).longOpt( "documents" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "documentsOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "documentsOptionArgumentDescription" ) ).build();
MODEL_CONTEXT_FACTORY_CLASSNAME_OPTION =
Option.builder( "mcfc" ).longOpt( "model-context-factory-class" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modelContextFactoryClassnameOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modelContextFactoryClassnameOptionArgumentDescription" ) ).build();
MODEL_OPTION =
Option.builder( "m" ).longOpt( "model" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modelOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modelOptionArgumentDescription" ) ).build();
MODLET_SCHEMA_SYSTEM_ID_OPTION =
Option.builder( "mssid" ).longOpt( "modlet-schema-system-id" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modletSchemaSystemIdOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletSchemaSystemIdOptionArgumentDescription" ) ).build();
MODLET_LOCATION_OPTION =
Option.builder( "mdl" ).longOpt( "modlet-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modletLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletLocationOptionArgumentDescription" ) ).build();
PROVIDER_LOCATION_OPTION =
Option.builder( "pl" ).longOpt( "provider-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "providerLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "providerLocationOptionArgumentDescription" ) ).build();
PLATFORM_PROVIDER_LOCATION_OPTION =
Option.builder( "ppl" ).longOpt( "platform-provider-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "platformProviderLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "platformProviderLocationOptionArgumentDescription" ) ).build();
NO_MODLET_RESOURCE_VALIDATION_OPTION =
Option.builder( "nmdrv" ).longOpt( "no-modlet-resource-validation" ).hasArg( false ).
desc( Messages.getMessage( "noModletResourceValidationOptionDescription", File.pathSeparator ) ).build();
MODULE_LOCATION_OPTION =
Option.builder( "ml" ).longOpt( "model-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modelLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modelLocationOptionArgumentDescription" ) ).build();
TRANSFORMER_LOCATION_OPTION =
Option.builder( "trl" ).longOpt( "transformer-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "transformerLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "transformerLocationOptionArgumentDescription" ) ).build();
NO_CLASSPATH_RESOLUTION_OPTION =
Option.builder( "ncr" ).longOpt( "no-classpath-resolution" ).hasArg( false ).
desc( Messages.getMessage( "noClasspathResolutionOptionDescription", File.pathSeparator ) ).build();
NO_MODEL_PROCESSING_OPTION =
Option.builder( "nmp" ).longOpt( "no-model-processing" ).hasArg( false ).
desc( Messages.getMessage( "noModelProcessingOptionDescription", File.pathSeparator ) ).build();
NO_MODEL_RESOURCE_VALIDATION_OPTION =
Option.builder( "nmrv" ).longOpt( "no-model-resource-validation" ).hasArg( false ).
desc( Messages.getMessage( "noModelResourceValidationOptionDescription", File.pathSeparator ) ).build();
NO_JAVA_VALIDATION_OPTION =
Option.builder( "njv" ).longOpt( "no-java-validation" ).hasArg( false ).
desc( Messages.getMessage( "noJavaValidationOptionDescription", File.pathSeparator ) ).build();
TEMPLATE_PROFILE_OPTION =
Option.builder( "tp" ).longOpt( "template-profile" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "templateProfileOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "templateProfileOptionArgumentDescription" ) ).build();
DEFAULT_TEMPLATE_PROFILE_OPTION =
Option.builder( "dtp" ).longOpt( "default-template-profile" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "defaultTemplateProfileOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "defaultTemplateProfileOptionArgumentDescription" ) ).build();
DEFAULT_TEMPLATE_ENCODING_OPTION =
Option.builder( "dte" ).longOpt( "default-template-encoding" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "defaultTemplateEncodingOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "defaultTemplateEncodingOptionArgumentDescription" ) ).build();
TEMPLATE_LOCATION_OPTION =
Option.builder( "tl" ).longOpt( "template-location" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "templateLocationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "templateLocationOptionArgumentDescription" ) ).build();
OUTPUT_ENCODING_OPTION =
Option.builder( "oe" ).longOpt( "output-encoding" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "outputEncodingOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "outputEncodingOptionArgumentDescription" ) ).build();
INPUT_ENCODING_OPTION =
Option.builder( "ie" ).longOpt( "input-encoding" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "inputEncodingOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "inputEncodingOptionArgumentDescription" ) ).build();
INDENTATION_STRING_OPTION =
Option.builder( "idt" ).longOpt( "indentation" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "indentationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "indentationOptionArgumentDescription" ) ).build();
LINE_SEPARATOR_OPTION =
Option.builder( "ls" ).longOpt( "line-separator" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "lineSeparatorOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "lineSeparatorOptionArgumentDescription" ) ).build();
LANGUAGE_OPTION =
Option.builder( "l" ).longOpt( "language" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "languageOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "languageOptionArgumentDescription" ) ).build();
COUNTRY_OPTION =
Option.builder( "c" ).longOpt( "country" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "countryOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "countryOptionArgumentDescription" ) ).build();
LOCALE_VARIANT_OPTION =
Option.builder( "lv" ).longOpt( "locale-variant" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "localeVariantOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "localeVariantOptionArgumentDescription" ) ).build();
IMPLEMENTATION_OPTION =
Option.builder( "impl" ).longOpt( "implementation" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "implementationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "implementationOptionArgumentDescription" ) ).build();
MODULE_OPTION =
Option.builder( "mn" ).longOpt( "module" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "moduleOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "moduleOptionArgumentDescription" ) ).build();
SPECIFICATION_OPTION =
Option.builder( "spec" ).longOpt( "specification" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "specificationOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "specificationOptionArgumentDescription" ) ).build();
CLASS_FILE_PROCESSOR_CLASSNAME_OPTION =
Option.builder( "cfpc" ).longOpt( "class-file-processor-class" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "classFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "classFileProcessorClassnameOptionArgumentDescription" ) ).build();
NO_CLASS_PROCESSING_OPTION =
Option.builder( "ncp" ).longOpt( "no-class-processing" ).hasArg( false ).
desc( Messages.getMessage( "noClassProcessingOptionDescription", File.pathSeparator ) ).build();
RESOURCE_FILE_PROCESSOR_CLASSNAME_OPTION =
Option.builder( "rfpc" ).longOpt( "resource-file-processor-class" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "resourceFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "resourceFileProcessorClassnameOptionArgumentDescription" ) ).build();
NO_RESOURCE_PROCESSING_OPTION =
Option.builder( "nrp" ).longOpt( "no-resource-processing" ).hasArg( false ).
desc( Messages.getMessage( "noResourceProcessingOptionDescription", File.pathSeparator ) ).build();
RESOURCE_DIRECTORY_OPTION =
Option.builder( "rd" ).longOpt( "resource-dir" ).hasArg().optionalArg( false ).required().
desc( Messages.getMessage( "resourceDirectoryOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "resourceDirectoryOptionArgumentDescription" ) ).build();
SOURCE_FILE_PROCESSOR_CLASSNAME_OPTION =
Option.builder( "sfpc" ).longOpt( "source-file-processor-class" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "sourceFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "sourceFileProcessorClassnameOptionArgumentDescription" ) ).build();
NO_SOURCE_PROCESSING_OPTION =
Option.builder( "nsp" ).longOpt( "no-source-processing" ).hasArg( false ).
desc( Messages.getMessage( "noSourceProcessingOptionDescription", File.pathSeparator ) ).build();
SOURCE_DIRECTORY_OPTION =
Option.builder( "sd" ).longOpt( "source-dir" ).hasArg().optionalArg( false ).required().
desc( Messages.getMessage( "sourceDirectoryOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "sourceDirectoryOptionArgumentDescription" ) ).build();
CLASSES_DIRECTORY_OPTION =
Option.builder( "cd" ).longOpt( "classes-dir" ).hasArg().optionalArg( false ).required().
desc( Messages.getMessage( "classesDirectoryOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "classesDirectoryOptionArgumentDescription" ) ).build();
STYLESHEET_OPTION =
Option.builder( "xs" ).longOpt( "stylesheet" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "stylesheetOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "stylesheetOptionArgumentDescription" ) ).build();
DOCUMENT_OPTION =
Option.builder( "d" ).longOpt( "document" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "documentOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "documentOptionArgumentDescription" ) ).build();
DOCUMENT_ENCODING_OPTION =
Option.builder( "de" ).longOpt( "document-encoding" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "documentEncodingOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "documentEncodingOptionArgumentDescription" ) ).build();
MODULE_VERSION_OPTION =
Option.builder( "mv" ).longOpt( "module-version" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "moduleVersionOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "moduleVersionOptionArgumentDescription" ) ).build();
MODULE_VENDOR_OPTION =
Option.builder( "mve" ).longOpt( "module-vendor" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "moduleVendorOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "moduleVendorOptionArgumentDescription" ) ).build();
MODULE_INCLUDES_OPTION =
Option.builder( "minc" ).longOpt( "module-includes" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "moduleIncludesOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "moduleIncludesOptionArgumentDescription" ) ).build();
MODULE_EXCLUDES_OPTION =
Option.builder( "mexc" ).longOpt( "module-excludes" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "moduleExcludesOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "moduleExcludesOptionArgumentDescription" ) ).build();
RESOURCES_OPTION =
Option.builder( "rn" ).longOpt( "resource-names" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "resourcesOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "resourcesOptionArgumentDescription" ) ).build();
MODLET_OPTION =
Option.builder( "mdn" ).longOpt( "modlet-name" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modletOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletOptionArgumentDescription" ) ).build();
MODLET_VERSION_OPTION =
Option.builder( "mdv" ).longOpt( "modlet-version" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modletVersionOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletVersionOptionArgumentDescription" ) ).build();
MODLET_VENDOR_OPTION =
Option.builder( "mdve" ).longOpt( "modlet-vendor" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "modletVendorOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletVendorOptionArgumentDescription" ) ).build();
MODLET_INCLUDES_OPTION =
Option.builder( "mdinc" ).longOpt( "modlet-includes" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "modletIncludesOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletIncludesOptionArgumentDescription" ) ).build();
MODLET_EXCLUDES_OPTION =
Option.builder( "mdexc" ).longOpt( "modlet-excludes" ).hasArgs().optionalArg( false ).
valueSeparator( File.pathSeparatorChar ).
desc( Messages.getMessage( "modletExcludesOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "modletExcludesOptionArgumentDescription" ) ).build();
TEMPLATE_ENCODING_OPTION =
Option.builder( "te" ).longOpt( "template-encoding" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "templateEncodingOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "templateEncodingOptionArgumentDescription" ) ).build();
THREADS_OPTION =
Option.builder( "T" ).longOpt( "threads" ).hasArg().optionalArg( false ).
desc( Messages.getMessage( "threadsOptionOptionDescription", File.pathSeparator ) ).
argName( Messages.getMessage( "threadsOptionArgumentDescription" ) ).build();
}
}