Package dev.rollczi.litecommands
Interface LiteCommandsBuilder<SENDER,SETTINGS extends dev.rollczi.litecommands.platform.PlatformSettings,B extends LiteCommandsBuilder<SENDER,SETTINGS,B>>
- Type Parameters:
SENDER- type of senderSETTINGS- type of platform settingsB- self type for builder
- All Known Implementing Classes:
LiteCommandsBaseBuilder
public interface LiteCommandsBuilder<SENDER,SETTINGS extends dev.rollczi.litecommands.platform.PlatformSettings,B extends LiteCommandsBuilder<SENDER,SETTINGS,B>>
Builder for
LiteCommands.
Use LiteCommandsFactory.builder(Class, Platform) to create new instance of builder.-
Method Summary
Modifier and TypeMethodDescription<IN,T, RESOLVER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> [Keyed Argument Parser and Suggester] Register argument parser and suggester for given type and key.<IN,T, RESOLVER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> [Argument Parser and Suggester] Register argument parser and suggester for given type.<IN,T, ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentParser(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.parser.TypedParser<SENDER, IN, T, ARGUMENT> parser) <IN,T, PARSER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentParser(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, PARSER parser) <IN,T, ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentParser(Class<T> type, dev.rollczi.litecommands.argument.parser.TypedParser<SENDER, IN, T, ARGUMENT> parser) <IN,T, PARSER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentParser(Class<T> type, PARSER parser) <T,ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.argument.suggester.TypedSuggester<SENDER, T, ARGUMENT> suggester) argumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.suggestion.SuggestionResult suggestionResult) <T,SUGGESTER extends dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, SUGGESTER suggester) <T,ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentSuggester(Class<T> type, dev.rollczi.litecommands.argument.suggester.TypedSuggester<SENDER, T, ARGUMENT> suggester) argumentSuggester(Class<T> type, dev.rollczi.litecommands.suggestion.SuggestionResult suggestionResult) <T,SUGGESTER extends dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>>
LiteCommandsBuilder<SENDER,SETTINGS, B> argumentSuggester(Class<T> type, SUGGESTER suggester) bindUnsafe(Class<?> on, Supplier<?> bind) dev.rollczi.litecommands.LiteCommands<SENDER>build()dev.rollczi.litecommands.LiteCommands<SENDER>build(boolean register) Register commands from given provider.editor(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.editor.Editor<SENDER> editor) editorGlobal(dev.rollczi.litecommands.editor.Editor<SENDER> editor) <E extends Throwable>
LiteCommandsBuilder<SENDER,SETTINGS, B> exception(Class<E> exceptionType, dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER, ? extends E> handler) exceptionUnexpected(dev.rollczi.litecommands.handler.exception.ExceptionHandler<SENDER, Throwable> handler) extension(LiteExtension<SENDER> extension) <E extends LiteExtension<SENDER>>
LiteCommandsBuilder<SENDER,SETTINGS, B> extension(E extension, UnaryOperator<E> configuration) invalidUsage(dev.rollczi.litecommands.invalidusage.InvalidUsageHandler<SENDER> handler) <T,CONTEXT>
LiteCommandsBuilder<SENDER,SETTINGS, B> message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.InvokedMessage<SENDER, T, CONTEXT> message) <T,CONTEXT>
LiteCommandsBuilder<SENDER,SETTINGS, B> message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.Message<T, CONTEXT> message) <T,CONTEXT>
LiteCommandsBuilder<SENDER,SETTINGS, B> message(dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, T message) missingPermission(dev.rollczi.litecommands.permission.MissingPermissionsHandler<SENDER> handler) postProcessor(LiteBuilderProcessor<SENDER, SETTINGS> postProcessor) preProcessor(LiteBuilderProcessor<SENDER, SETTINGS> preProcessor) result(Class<T> resultType, dev.rollczi.litecommands.handler.result.ResultHandler<SENDER, ? extends T> handler) resultUnexpected(dev.rollczi.litecommands.handler.result.ResultHandler<SENDER, Object> handler) scheduler(dev.rollczi.litecommands.scheduler.Scheduler scheduler) schematicGenerator(dev.rollczi.litecommands.schematic.SchematicFormat format) schematicGenerator(dev.rollczi.litecommands.schematic.SchematicGenerator<SENDER> schematicGenerator) selfProcessor(LiteBuilderProcessor<SENDER, SETTINGS> processor) Configure platform settings.validator(dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.validator.Validator<SENDER> validator) validatorGlobal(dev.rollczi.litecommands.validator.Validator<SENDER> validator) default LiteCommandsBuilder<SENDER,SETTINGS, B> validatorMarked(dev.rollczi.litecommands.validator.Validator<SENDER> validator) wrapper(dev.rollczi.litecommands.wrapper.Wrapper wrapper)
-
Method Details
-
settings
LiteCommandsBuilder<SENDER,SETTINGS, settingsB> (dev.rollczi.litecommands.platform.PlatformSettingsConfigurator<SETTINGS> configurator) Configure platform settings.- Parameters:
configurator- configurator for platform settings- Returns:
- this builder
- See Also:
-
PlatformSettings
-
commands
LiteCommandsBuilder<SENDER,SETTINGS, commandsB> (dev.rollczi.litecommands.LiteCommandsProvider<SENDER> commandsProvider) Register commands from given provider.- Parameters:
commandsProvider- provider of commands- Returns:
- this builder
- See Also:
-
LiteCommandsProvider
-
argumentParser
-
argumentParser
-
argumentParser
-
argumentParser
-
argumentSuggester
<T> LiteCommandsBuilder<SENDER,SETTINGS, argumentSuggesterB> (Class<T> type, dev.rollczi.litecommands.suggestion.SuggestionResult suggestionResult) -
argumentSuggester
<T> LiteCommandsBuilder<SENDER,SETTINGS, argumentSuggesterB> (Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, dev.rollczi.litecommands.suggestion.SuggestionResult suggestionResult) -
argumentSuggester
-
argumentSuggester
-
argumentSuggester
-
argumentSuggester
-
argument
<IN,T, LiteCommandsBuilder<SENDER,RESOLVER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>> SETTINGS, argumentB> (Class<T> type, RESOLVER resolver) [Argument Parser and Suggester] Register argument parser and suggester for given type.- Parameters:
type- type of argumentresolver- parser and suggester for given type- Returns:
- this builder
-
argument
<IN,T, LiteCommandsBuilder<SENDER,RESOLVER extends dev.rollczi.litecommands.argument.parser.Parser<SENDER, IN, T> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>> SETTINGS, argumentB> (Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, RESOLVER resolver) [Keyed Argument Parser and Suggester] Register argument parser and suggester for given type and key. Key is used to define namespace for given parser. It is used to identify which parsers with same type should be used. Argument type is used to define what type is compatible with given parser.- Parameters:
type- type of argumentkey- key of argumentresolver- parser and suggester for given type- Returns:
- this builder
-
argument
<IN,T, LiteCommandsBuilder<SENDER,ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>, RESOLVER extends dev.rollczi.litecommands.argument.parser.TypedParser<SENDER, IN, T, ARGUMENT> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>> SETTINGS, argumentB> (Class<T> type, RESOLVER resolver) [Typed Argument Parser and Suggester] Register argument parser and suggester for given type.- Parameters:
type- type of argumentresolver- parser and suggester for given type- Returns:
- this builder
-
argument
<IN,T, LiteCommandsBuilder<SENDER,ARGUMENT extends dev.rollczi.litecommands.argument.Argument<T>, RESOLVER extends dev.rollczi.litecommands.argument.parser.TypedParser<SENDER, IN, T, ARGUMENT> & dev.rollczi.litecommands.argument.suggester.Suggester<SENDER, T>> SETTINGS, argumentB> (Class<T> type, dev.rollczi.litecommands.argument.ArgumentKey key, RESOLVER resolver) [Typed Keyed Argument Parser and Suggester] Register argument parser and suggester for given type and key. Key is used to define namespace for given parser. It is used to identify which parsers with same type should be used. Argument type is used to define what type is compatible with given parser.- Parameters:
type- type of argumentkey- key of argumentresolver- parser and suggester for given type- Returns:
- this builder
-
context
-
bind
<T> LiteCommandsBuilder<SENDER,SETTINGS, bindB> (Class<T> on, dev.rollczi.litecommands.bind.BindProvider<T> bindProvider) -
bind
-
bindUnsafe
-
scheduler
LiteCommandsBuilder<SENDER,SETTINGS, schedulerB> (dev.rollczi.litecommands.scheduler.Scheduler scheduler) -
message
<T,CONTEXT> LiteCommandsBuilder<SENDER,SETTINGS, messageB> (dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.Message<T, CONTEXT> message) -
message
<T,CONTEXT> LiteCommandsBuilder<SENDER,SETTINGS, messageB> (dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, dev.rollczi.litecommands.message.InvokedMessage<SENDER, T, CONTEXT> message) -
message
<T,CONTEXT> LiteCommandsBuilder<SENDER,SETTINGS, messageB> (dev.rollczi.litecommands.message.MessageKey<CONTEXT> key, T message) -
editorGlobal
LiteCommandsBuilder<SENDER,SETTINGS, editorGlobalB> (dev.rollczi.litecommands.editor.Editor<SENDER> editor) -
editor
LiteCommandsBuilder<SENDER,SETTINGS, editorB> (dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.editor.Editor<SENDER> editor) -
validatorGlobal
LiteCommandsBuilder<SENDER,SETTINGS, validatorGlobalB> (dev.rollczi.litecommands.validator.Validator<SENDER> validator) -
validator
LiteCommandsBuilder<SENDER,SETTINGS, validatorB> (dev.rollczi.litecommands.scope.Scope scope, dev.rollczi.litecommands.validator.Validator<SENDER> validator) -
validatorMarked
default LiteCommandsBuilder<SENDER,SETTINGS, validatorMarkedB> (dev.rollczi.litecommands.validator.Validator<SENDER> validator) -
result
-
resultUnexpected
-
exception
-
exceptionUnexpected
-
missingPermission
LiteCommandsBuilder<SENDER,SETTINGS, missingPermissionB> (dev.rollczi.litecommands.permission.MissingPermissionsHandler<SENDER> handler) -
invalidUsage
LiteCommandsBuilder<SENDER,SETTINGS, invalidUsageB> (dev.rollczi.litecommands.invalidusage.InvalidUsageHandler<SENDER> handler) -
wrapper
-
schematicGenerator
LiteCommandsBuilder<SENDER,SETTINGS, schematicGeneratorB> (dev.rollczi.litecommands.schematic.SchematicGenerator<SENDER> schematicGenerator) -
schematicGenerator
LiteCommandsBuilder<SENDER,SETTINGS, schematicGeneratorB> (dev.rollczi.litecommands.schematic.SchematicFormat format) -
selfProcessor
LiteCommandsBuilder<SENDER,SETTINGS, selfProcessorB> (LiteBuilderProcessor<SENDER, SETTINGS> processor) -
preProcessor
LiteCommandsBuilder<SENDER,SETTINGS, preProcessorB> (LiteBuilderProcessor<SENDER, SETTINGS> preProcessor) -
postProcessor
LiteCommandsBuilder<SENDER,SETTINGS, postProcessorB> (LiteBuilderProcessor<SENDER, SETTINGS> postProcessor) -
extension
-
extension
<E extends LiteExtension<SENDER>> LiteCommandsBuilder<SENDER,SETTINGS, extensionB> (E extension, UnaryOperator<E> configuration) -
build
dev.rollczi.litecommands.LiteCommands<SENDER> build() -
build
-