Class CachingTagResolver

java.lang.Object
net.flectone.pulse.util.tag.CachingTagResolver
All Implemented Interfaces:
net.kyori.adventure.text.minimessage.tag.resolver.TagResolver

public final class CachingTagResolver extends Object implements net.kyori.adventure.text.minimessage.tag.resolver.TagResolver
Tag resolver for a set of tag names that keeps the tags it builds, so a tag written several times in one message is built only once.
Since:
1.13.0
See Also:
  • TagResolver
  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.kyori.adventure.text.minimessage.tag.resolver.TagResolver

    net.kyori.adventure.text.minimessage.tag.resolver.TagResolver.Builder, net.kyori.adventure.text.minimessage.tag.resolver.TagResolver.Single, net.kyori.adventure.text.minimessage.tag.resolver.TagResolver.WithoutArguments
  • Constructor Summary

    Constructors
    Constructor
    Description
    CachingTagResolver(@NonNull Set<String> names, @NonNull BiFunction<net.kyori.adventure.text.minimessage.tag.resolver.ArgumentQueue, net.kyori.adventure.text.minimessage.Context, net.kyori.adventure.text.minimessage.tag.Tag> handler, @NonNull FLogger fLogger)
    Creates a resolver serving the given tag names.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    has(@NonNull String name)
     
    @Nullable net.kyori.adventure.text.minimessage.tag.Tag
    resolve(@NonNull String name, @NonNull net.kyori.adventure.text.minimessage.tag.resolver.ArgumentQueue arguments, @NonNull net.kyori.adventure.text.minimessage.Context context)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CachingTagResolver

      public CachingTagResolver(@NonNull Set<String> names, @NonNull BiFunction<net.kyori.adventure.text.minimessage.tag.resolver.ArgumentQueue, net.kyori.adventure.text.minimessage.Context, net.kyori.adventure.text.minimessage.tag.Tag> handler, @NonNull FLogger fLogger)
      Creates a resolver serving the given tag names.
      Parameters:
      names - the tag names this resolver answers to
      handler - builds the tag from the arguments it is written with
      fLogger - logs a handler that failed to build its tag
  • Method Details

    • resolve

      public @Nullable net.kyori.adventure.text.minimessage.tag.Tag resolve(@NonNull String name, @NonNull net.kyori.adventure.text.minimessage.tag.resolver.ArgumentQueue arguments, @NonNull net.kyori.adventure.text.minimessage.Context context) throws net.kyori.adventure.text.minimessage.ParsingException
      Specified by:
      resolve in interface net.kyori.adventure.text.minimessage.tag.resolver.TagResolver
      Throws:
      net.kyori.adventure.text.minimessage.ParsingException
    • has

      public boolean has(@NonNull String name)
      Specified by:
      has in interface net.kyori.adventure.text.minimessage.tag.resolver.TagResolver