java.lang.Object
java.lang.Throwable
java.lang.Exception
org.refcodes.exception.AbstractException
org.refcodes.cli.CliException
org.refcodes.cli.CliException.CliArgsException
org.refcodes.cli.ArgsSyntaxException
- All Implemented Interfaces:
Serializable
,ArgsAccessor
,MatchCountAccessor
,org.refcodes.exception.ErrorCodeAccessor
,org.refcodes.exception.Trap
,org.refcodes.mixin.SourceAccessor<Term>
- Direct Known Subclasses:
AmbiguousArgsException
,ParseArgsException
,SuperfluousArgsException
,UnknownArgsException
public class ArgsSyntaxException
extends CliException.CliArgsException
implements org.refcodes.mixin.SourceAccessor<Term>, MatchCountAccessor
Thrown in case of a command line arguments mismatch regarding provided and
expected args.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.refcodes.cli.CliException
CliException.CliArgsException
Nested classes/interfaces inherited from interface org.refcodes.cli.ArgsAccessor
ArgsAccessor.ArgsMutator, ArgsAccessor.ArgsProperty
Nested classes/interfaces inherited from interface org.refcodes.exception.ErrorCodeAccessor
org.refcodes.exception.ErrorCodeAccessor.ErrorCodeBuilder<B extends org.refcodes.exception.ErrorCodeAccessor.ErrorCodeBuilder<B>>, org.refcodes.exception.ErrorCodeAccessor.ErrorCodeMutator, org.refcodes.exception.ErrorCodeAccessor.ErrorCodeProperty
Nested classes/interfaces inherited from interface org.refcodes.cli.MatchCountAccessor
MatchCountAccessor.MatchCountBuilder<B extends MatchCountAccessor.MatchCountBuilder<B>>, MatchCountAccessor.MatchCountMutator, MatchCountAccessor.MatchCountProperty
Nested classes/interfaces inherited from interface org.refcodes.mixin.SourceAccessor
org.refcodes.mixin.SourceAccessor.SourceBuilder<SRC extends Object,
B extends org.refcodes.mixin.SourceAccessor.SourceBuilder<SRC, B>>, org.refcodes.mixin.SourceAccessor.SourceMutator<SRC extends Object>, org.refcodes.mixin.SourceAccessor.SourceProperty<SRC extends Object> -
Field Summary
Fields inherited from class org.refcodes.cli.CliException.CliArgsException
_args
-
Constructor Summary
ConstructorDescriptionArgsSyntaxException
(String[] aArgs, Throwable aCause) ArgsSyntaxException
(String[] aArgs, Throwable aCause, String aErrorCode) ArgsSyntaxException
(String[] aArgs, Term aSource, Throwable aCause) ArgsSyntaxException
(String[] aArgs, Term aSource, Throwable aCause, String aErrorCode) ArgsSyntaxException
(String aMessage, String[] aArgs) ArgsSyntaxException
(String aMessage, String[] aArgs, String aErrorCode) ArgsSyntaxException
(String aMessage, String[] aArgs, Throwable aCause) ArgsSyntaxException
(String aMessage, String[] aArgs, Throwable aCause, String aErrorCode) ArgsSyntaxException
(String aMessage, String[] aArgs, Term aSource) ArgsSyntaxException
(String aMessage, String[] aArgs, Term aSource, String aErrorCode) ArgsSyntaxException
(String aMessage, String[] aArgs, Term aSource, Throwable aCause) -
Method Summary
Modifier and TypeMethodDescriptionint
Determines the number of args being matched upon encountering this exception.Object[]
Returns theTerm
responsible for this exception.Tries to determine the most likely cause of this exception by crawling the exception tree down the causes and suppressed exceptions and evaluating theirTerm
source'sTerm.getMatchCount()
argument match counts.Determines the root cause of this exception with the same match count (getMatchCount()
) as this exception.Methods inherited from class org.refcodes.cli.CliException.CliArgsException
getArgs
Methods inherited from class org.refcodes.exception.AbstractException
getErrorCode, getMessage
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.refcodes.exception.Trap
toLocalizedMessage, toMessage, toMessage, toMessage, toShortLocalizedMessage, toShortMessage
-
Field Details
-
_source
-
_matchCount
protected int _matchCount
-
-
Constructor Details
-
ArgsSyntaxException
- Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
- Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
- Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
public ArgsSyntaxException(String aMessage, String[] aArgs, Term aSource, Throwable aCause, String aErrorCode) - Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
- Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
- Parameters:
aSource
- TheTerm
responsible for this exception (source).
-
ArgsSyntaxException
-
ArgsSyntaxException
-
ArgsSyntaxException
-
ArgsSyntaxException
-
ArgsSyntaxException
-
ArgsSyntaxException
-
-
Method Details
-
getMatchCount
public int getMatchCount()Determines the number of args being matched upon encountering this exception.- Specified by:
getMatchCount
in interfaceMatchCountAccessor
- Returns:
- The number of args matching till this exception occurred.
-
getSource
Returns theTerm
responsible for this exception. -
toHeuristicMessage
Tries to determine the most likely cause of this exception by crawling the exception tree down the causes and suppressed exceptions and evaluating theirTerm
source'sTerm.getMatchCount()
argument match counts.Throwable.getSuppressed()
exceptions, the causeThrowable.getCause()
is at a CHILD level of THIS exception, the cause's suppressed exceptions are at the SAME level as the cause itself. A wrong idea of the hierarchy of exceptions has erroneously been implemented, this implementation got to corrected as described.- Returns:
- The heuristic cause of this exception.
-
toRootMatchCause
Determines the root cause of this exception with the same match count (getMatchCount()
) as this exception.- Returns:
- The actual root cause of this exception or this exception if no (more specific) root cause was determined.
-
getPatternArguments
- Specified by:
getPatternArguments
in interfaceorg.refcodes.exception.Trap
- Overrides:
getPatternArguments
in classCliException.CliArgsException
-