Top Description Inners Fields Constructors Methods
org.jruby.util.cli

public Class ArgumentProcessor

extends Object
Class Inheritance
Imports
org.jruby.RubyInstanceConfig, org.jruby.common.RubyWarnings, org.jruby.exceptions.MainExitException, org.jruby.runtime.profile.builtin.ProfileOutput, org.jruby.util.JRubyFile, .FileResource, .KCode, .SafePropertyAccessor, .StringSupport, java.io.File, .FileNotFoundException, .IOException, java.util.ArrayList, .Arrays, .HashMap, .List, .Map, .Set, .HashSet, java.util.function.BiFunction, java.util.regex.Pattern, java.util.stream.Collectors, .Stream

Encapsulated logic for processing JRuby's command-line arguments. This class holds the processing logic for JRuby's non-JVM command-line arguments. All standard Ruby options are processed here, as well as nonstandard JRuby- specific options. Options passed directly to the JVM are processed separately, by either a launch script or by a native executable.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private int
private final List<ArgumentProcessor.Argument>
private int
pack-priv final RubyInstanceConfig
private boolean
private boolean
private static final Map<String, BiFunction<ArgumentProcessor, Boolean, Void>>
private static final Set<String>
private static final List<String>
private final boolean
private final boolean
public static final String
private static final Pattern

Constructor Summary

AccessConstructor and Description
public
public
ArgumentProcessor(String[] arguments, boolean processArgv, boolean dashed, boolean rubyOpts, RubyInstanceConfig config)

Method Summary

Modifier and TypeMethod and Description
private static void
private void
private void
enableDisableFeature(String name, boolean enable)

private static void
private MainExitException
private String
getArgumentError(String additionalError)

private String
private String
grabValue(String errorMessage)

private String
grabValue(String errorMessage, boolean usageError)

private boolean
private static boolean
private void
public void
public void
processArguments(boolean inline)

private void
private void
processEncodingOption(String optionString, String value)

private String
resolve(String path, String scriptName)

private String
resolveScript(String scriptName)

public String
resolveScriptUsingClassLoader(String scriptName)
Deprecated

private void
private static String[]
valueListFor(String argument, String key)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argumentIndexback to summary
private int argumentIndex
argumentsback to summary
private final List<ArgumentProcessor.Argument> arguments
characterIndexback to summary
private int characterIndex
configback to summary
pack-priv final RubyInstanceConfig config
dashUpperUback to summary
private boolean dashUpperU
endOfArgumentsback to summary
private boolean endOfArguments
FEATURESback to summary
private static final Map<String, BiFunction<ArgumentProcessor, Boolean, Void>> FEATURES
KNOWN_PROPERTIESback to summary
private static final Set<String> KNOWN_PROPERTIES
KNOWN_PROPERTY_PREFIXESback to summary
private static final List<String> KNOWN_PROPERTY_PREFIXES
processArgvback to summary
private final boolean processArgv
rubyOptsback to summary
private final boolean rubyOpts
SEPARATORback to summary
public static final String SEPARATOR
VERSION_FLAGback to summary
private static final Pattern VERSION_FLAG

Constructor Detail

ArgumentProcessorback to summary
public ArgumentProcessor(String[] arguments, RubyInstanceConfig config)
ArgumentProcessorback to summary
public ArgumentProcessor(String[] arguments, boolean processArgv, boolean dashed, boolean rubyOpts, RubyInstanceConfig config)

Method Detail

checkPropertiesback to summary
private static void checkProperties()
disallowedInRubyOptsback to summary
private void disallowedInRubyOpts(CharSequence option)
enableDisableFeatureback to summary
private void enableDisableFeature(String name, boolean enable)
errorMissingEqualsback to summary
private static void errorMissingEquals(String label)
fakeRuntimeErrorback to summary
private MainExitException fakeRuntimeError(String message)
getArgumentErrorback to summary
private String getArgumentError(String additionalError)
grabOptionalValueback to summary
private String grabOptionalValue()
grabValueback to summary
private String grabValue(String errorMessage)
grabValueback to summary
private String grabValue(String errorMessage, boolean usageError)
isInterpreterArgumentback to summary
private boolean isInterpreterArgument(String argument)
isPropertySupportedback to summary
private static boolean isPropertySupported(String propertyName)
processArgumentback to summary
private void processArgument()
processArgumentsback to summary
public void processArguments()
processArgumentsback to summary
public void processArguments(boolean inline)
processArgvback to summary
private void processArgv()
processEncodingOptionback to summary
private void processEncodingOption(String optionString, String value)
resolveback to summary
private String resolve(String path, String scriptName)
resolveScriptback to summary
private String resolveScript(String scriptName)
resolveScriptUsingClassLoaderback to summary
public String resolveScriptUsingClassLoader(String scriptName)

Deprecated

Annotations
@Deprecated
runBinScriptback to summary
private void runBinScript()
valueListForback to summary
private static String[] valueListFor(String argument, String key)
org.jruby.util.cli back to summary

private final Class ArgumentProcessor.Argument

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private String
pack-priv final String

Constructor Summary

AccessConstructor and Description
pack-priv
Argument(String value, boolean dashed)

Method Summary

Modifier and TypeMethod and Description
pack-priv final String
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

dashedValueback to summary
private String dashedValue
originalValueback to summary
pack-priv final String originalValue

Constructor Detail

Argumentback to summary
pack-priv Argument(String value, boolean dashed)

Method Detail

getDashedValueback to summary
pack-priv final String getDashedValue()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object