Skip to content

Contextualize ValueResolvers and ContextResolvers, improve response handlers

Compare
Choose a tag to compare
@Revxrsal Revxrsal released this 08 Oct 19:31

Contextualization:

  • ContextResolvers and ValueResolvers now accept a single parameter, ContextResolverContext and ValueResolverContext respectively.
  • Both contexts extend from ParameterResolverContext, which exposes the CommandActor, CommandParameter, as well as other useful elements
  • Contexts provide the ability to refer to the arguments that have already been resolved.
  • Contexts should make it easier to introduce additions to resolvers without breaking old code
  • This update is not backwards-compatible!

  • Automatically infer responses of type java.util.function.Supplier
  • Fix response types not allowing nesting, for example a CompletableFuture<Optional<String>>.
  • Add ArgumentStack#asImmutableCopy() for gaining independent copies.