Class ExceptionBuilder<T extends Exception>
java.lang.Object
io.github.chrimle.exceptionfactory.ExceptionBuilder<T>
- Type Parameters:
T
-Exception
-class instance to build and instantiate.
Builder of
Exception
s.- Since:
- 0.1.0
- Author:
- Chrimle
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
static <C extends Exception>
@NotNull ExceptionBuilder<C>Creates a newExceptionBuilder
instance for building and instantiating anException
of typeExceptionBuilder
.Sets thecause
to be used when instantiatingExceptionBuilder
,setMessage
(@Nullable String message) Sets themessage
to be used when instantiatingExceptionBuilder
.setMessage
(MessageTemplates.OneArgTemplate messageTemplate, String messageArg) Sets themessage
to be used when instantiatingExceptionBuilder
, by applying themessageArg
to themessageTemplate
.setMessage
(MessageTemplates.TwoArgTemplate messageTemplate, String messageArgOne, String messageArgTwo) Sets themessage
to be used when instantiatingExceptionBuilder
, by applying themessageArgOne
andmessageArgTwo
to themessageTemplate
.setMessage
(String formattedString, String... messageArgs) Sets themessage
to be used when instantiatingExceptionBuilder
, by formattingformattedString
with the format specifiersmessageArgs
.setMessage
(BiFunction<String, String, String> messageBuilder, @Nullable String messageArg1, @Nullable String messageArg2) Sets themessage
to be used when instantiatingExceptionBuilder
, by invokingmessageBuilder
withmessageArg1
andmessageArg2
.setMessage
(UnaryOperator<String> messageBuilder, @Nullable String messageArg) Sets themessage
to be used when instantiatingExceptionBuilder
, by invokingmessageBuilder
withmessageArg
.
-
Method Details
-
of
@Contract("null -> fail; _ -> new") @NotNull public static <C extends Exception> @NotNull ExceptionBuilder<C> of(Class<C> exceptionClass) Creates a newExceptionBuilder
instance for building and instantiating anException
of typeExceptionBuilder
.- Type Parameters:
C
- to build and instantiate.- Parameters:
exceptionClass
- to build and instantiate.- Returns:
- a new
ExceptionBuilder
instance. - Throws:
IllegalArgumentException
- ifexceptionClass
isnull
.exceptionClass
MUST NOT benull
.IllegalArgumentException
- ifexceptionClass
does not have a constructor with method argumentsExampleException(String, Throwable)
.exceptionClass
MUST have a(String, Throwable)
constructor.- Since:
- 0.1.0
-
setMessage
@Contract(value="_ -> this", mutates="this") public ExceptionBuilder<T> setMessage(@Nullable @Nullable String message) Sets themessage
to be used when instantiatingExceptionBuilder
.- Parameters:
message
- of the exception. MAY benull
.- Returns:
- this
ExceptionBuilder
. - Since:
- 0.1.0
-
setMessage
@Contract("null, _ -> fail; _, _ -> this") public ExceptionBuilder<T> setMessage(UnaryOperator<String> messageBuilder, @Nullable @Nullable String messageArg) Sets themessage
to be used when instantiatingExceptionBuilder
, by invokingmessageBuilder
withmessageArg
.- Parameters:
messageBuilder
- to invoke. MUST NOT benull
.messageArg
- to invoke with. MAY benull
.- Returns:
- this
ExceptionBuilder
. - Throws:
IllegalArgumentException
- ifmessageBuilder
isnull
.- Since:
- 0.1.0
-
setMessage
@Contract("null, _, _ -> fail; _, _, _ -> this") public ExceptionBuilder<T> setMessage(BiFunction<String, String, String> messageBuilder, @Nullable @Nullable String messageArg1, @Nullable @Nullable String messageArg2) Sets themessage
to be used when instantiatingExceptionBuilder
, by invokingmessageBuilder
withmessageArg1
andmessageArg2
.- Parameters:
messageBuilder
- to invoke. MUST NOT benull
.messageArg1
- to invoke with. MAY benull
.messageArg2
- to invoke with. MAY benull
.- Returns:
- this
ExceptionBuilder
. - Throws:
IllegalArgumentException
- ifmessageBuilder
isnull
.- Since:
- 0.1.0
-
setMessage
@Contract("null, _ -> fail; _, _ -> this") public ExceptionBuilder<T> setMessage(String formattedString, String... messageArgs) Sets themessage
to be used when instantiatingExceptionBuilder
, by formattingformattedString
with the format specifiersmessageArgs
.- Parameters:
formattedString
- to be formatted. MUST conform toString.formatted(Object...)
.messageArgs
- to be used as format specifiers.- Returns:
- this
ExceptionBuilder
. - Throws:
IllegalArgumentException
- ifformattedString
isnull
.- Since:
- 0.1.0
- See Also:
-
setMessage
@Contract("null, _ -> fail; _, _ -> this") public ExceptionBuilder<T> setMessage(MessageTemplates.OneArgTemplate messageTemplate, String messageArg) Sets themessage
to be used when instantiatingExceptionBuilder
, by applying themessageArg
to themessageTemplate
.- Parameters:
messageTemplate
- to use.messageArg
- to be supplied to themessageTemplate
.- Returns:
- this
ExceptionBuilder
. - Throws:
IllegalArgumentException
- ifmessageTemplate
isnull
.- Since:
- 0.1.0
-
setMessage
@Contract("null, _, _ -> fail; _, _, _ -> this") public ExceptionBuilder<T> setMessage(MessageTemplates.TwoArgTemplate messageTemplate, String messageArgOne, String messageArgTwo) Sets themessage
to be used when instantiatingExceptionBuilder
, by applying themessageArgOne
andmessageArgTwo
to themessageTemplate
.- Parameters:
messageTemplate
- to use.messageArgOne
- to be supplied to themessageTemplate
.messageArgTwo
- to be supplied to themessageTemplate
.- Returns:
- this
ExceptionBuilder
. - Throws:
IllegalArgumentException
- ifmessageTemplate
isnull
.- Since:
- 0.1.0
-
setCause
@Contract(value="_ -> this", mutates="this") public ExceptionBuilder<T> setCause(@Nullable @Nullable Throwable cause) Sets thecause
to be used when instantiatingExceptionBuilder
,- Parameters:
cause
- of the exception. MAY benull
.- Returns:
- this
ExceptionBuilder
. - Since:
- 0.1.0
-
build
- Returns:
- the new
ExceptionBuilder
instance. - Since:
- 0.1.0
-