Class OptionsCheckRule
- java.lang.Object
-
- org.openjdk.jmc.flightrecorder.rules.jdk.general.OptionsCheckRule
-
- All Implemented Interfaces:
IRule
public class OptionsCheckRule extends java.lang.Object implements IRule
Check that used command line options are:- Not on a list of known not recommended options/values
- Not deprecated (also check Java versions later than the one currently used)
- Documented
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classOptionsCheckRule.DeprecatedOptionprivate static classOptionsCheckRule.OptionWarning
-
Field Summary
Fields Modifier and Type Field Description private static TypedPreference<java.lang.String>ACCEPTED_OPTIONSprivate static OptionsCheckRule.DeprecatedOption[]DEPRECATED_OPTIONS_Xprivate static OptionsCheckRule.DeprecatedOption[]DEPRECATED_OPTIONS_XXprivate static java.lang.String[]JAVA_7_DOCUMENTED_XXprivate static java.lang.String[]JAVA_8_DOCUMENTED_XXprivate static java.lang.StringRESULT_IDprivate static java.util.regex.PatternXX_OPTION_PATTERNMatch group 1 will contain the option name.
-
Constructor Summary
Constructors Constructor Description OptionsCheckRule()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static booleancheckDeprecatedX(java.lang.String option, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList)private static booleancheckDeprecatedXX(java.lang.String option, java.lang.String optionName, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList)private static booleancheckDocumentedXX(java.lang.String option, java.lang.String optionName, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList)private static booleancheckNotRecommended(java.lang.String option, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)private static voidcheckOption(java.lang.String option, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)private static voidcheckOptions(java.lang.String optionList, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList, java.util.Set<java.lang.String> acceptedOptions)private java.lang.StringcomposeShortMessage(java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)java.util.concurrent.RunnableFuture<Result>evaluate(IItemCollection items, IPreferenceValueProvider valueProvider)Gets a future representing the result of the evaluation of this rule.private static java.lang.StringextractOptionName(java.lang.String option)java.util.Collection<TypedPreference<?>>getConfigurationAttributes()Gets information about which attributes may be configured during rule evaluation.java.lang.StringgetId()java.lang.StringgetName()private ResultgetResult(IItemCollection items, IPreferenceValueProvider valueProvider)java.lang.StringgetTopic()private java.util.Set<java.lang.String>getUserAcceptedOptions(IPreferenceValueProvider valueProvider)private static booleanisUserAcceptedOption(java.lang.String option, java.util.Set<java.lang.String> acceptedOptions)
-
-
-
Field Detail
-
RESULT_ID
private static final java.lang.String RESULT_ID
- See Also:
- Constant Field Values
-
ACCEPTED_OPTIONS
private static final TypedPreference<java.lang.String> ACCEPTED_OPTIONS
-
XX_OPTION_PATTERN
private static final java.util.regex.Pattern XX_OPTION_PATTERN
Match group 1 will contain the option name.
-
JAVA_7_DOCUMENTED_XX
private static final java.lang.String[] JAVA_7_DOCUMENTED_XX
-
JAVA_8_DOCUMENTED_XX
private static final java.lang.String[] JAVA_8_DOCUMENTED_XX
-
DEPRECATED_OPTIONS_XX
private static final OptionsCheckRule.DeprecatedOption[] DEPRECATED_OPTIONS_XX
-
DEPRECATED_OPTIONS_X
private static final OptionsCheckRule.DeprecatedOption[] DEPRECATED_OPTIONS_X
-
-
Method Detail
-
checkOptions
private static void checkOptions(java.lang.String optionList, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList, java.util.Set<java.lang.String> acceptedOptions)
-
isUserAcceptedOption
private static boolean isUserAcceptedOption(java.lang.String option, java.util.Set<java.lang.String> acceptedOptions)
-
extractOptionName
private static java.lang.String extractOptionName(java.lang.String option)
-
checkOption
private static void checkOption(java.lang.String option, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)
-
checkDeprecatedXX
private static boolean checkDeprecatedXX(java.lang.String option, java.lang.String optionName, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList)
-
checkDeprecatedX
private static boolean checkDeprecatedX(java.lang.String option, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList)
-
checkDocumentedXX
private static boolean checkDocumentedXX(java.lang.String option, java.lang.String optionName, JavaVersion usedVersion, java.util.List<java.lang.String> undocumentedList)
-
checkNotRecommended
private static boolean checkNotRecommended(java.lang.String option, JavaVersion usedVersion, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)
-
evaluate
public java.util.concurrent.RunnableFuture<Result> evaluate(IItemCollection items, IPreferenceValueProvider valueProvider)
Description copied from interface:IRuleGets a future representing the result of the evaluation of this rule. Running the RunnableFuture is the responsibility of the caller of this method, not the implementation.- Specified by:
evaluatein interfaceIRule- Parameters:
items- items to evaluatevalueProvider- Provider of configuration values used for evaluation. The attributes that will be asked for from the provider should be provided byIRule.getConfigurationAttributes().- Returns:
- a RunnableFuture that when run will return the evaluation result
-
getResult
private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider)
-
getUserAcceptedOptions
private java.util.Set<java.lang.String> getUserAcceptedOptions(IPreferenceValueProvider valueProvider)
-
composeShortMessage
private java.lang.String composeShortMessage(java.util.List<java.lang.String> undocumentedList, java.util.List<OptionsCheckRule.OptionWarning> deprecatedList, java.util.List<OptionsCheckRule.OptionWarning> notRecommendedList)
-
getConfigurationAttributes
public java.util.Collection<TypedPreference<?>> getConfigurationAttributes()
Description copied from interface:IRuleGets information about which attributes may be configured during rule evaluation.- Specified by:
getConfigurationAttributesin interfaceIRule- Returns:
- a list of configuration attributes
-
getId
public java.lang.String getId()
-
getName
public java.lang.String getName()
-
-