Class MagicPlaceholders
java.lang.Object
dev.ua.theroer.magicutils.placeholders.MagicPlaceholders
Registry and helpers for MagicUtils placeholder resolution.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classMetadata describing a placeholder namespace.static interfaceDebug listener for placeholder resolution events.static final recordIdentifier for a placeholder entry.static interfaceListener for placeholder registry events.static interfaceResolves a placeholder value.static final recordResult of placeholder resolution. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddDebugListener(@Nullable MagicPlaceholders.PlaceholderDebugListener listener) Adds a debug listener for placeholder resolution events.static voidAdds a placeholder listener.static voidAdds a placeholder listener as a weak reference.static @Nullable AudienceaudienceFromUuid(@Nullable UUID uuid) Creates a lightweight audience wrapper for a UUID.static voidclearAll()Clears all registered placeholders, namespaces, and listeners.static voidClears all registered listeners.static voidclearLocal(Object ownerKey) Removes all local placeholders for an owner.entries()Returns a snapshot of registered placeholders.static @Nullable MagicPlaceholders.PlaceholderResolverReturns the resolver for a placeholder key.getNamespaceMeta(String namespace) Returns metadata for the namespace, creating it if missing.static List<MagicPlaceholders.PlaceholderKey> keysForNamespace(String namespace) Returns placeholder keys within a namespace.Returns all registered namespaces.static voidregister(String namespace, String key, MagicPlaceholders.PlaceholderResolver resolver) Registers a placeholder resolver.static voidregisterGlobal(String key, MagicPlaceholders.PlaceholderResolver resolver) Registers a global placeholder resolver (no namespace).static voidregisterLocal(Object ownerKey, String key, MagicPlaceholders.PlaceholderResolver resolver) Registers a local placeholder resolver scoped to an owner.registerNamespace(String namespace, @Nullable String author, @Nullable String version) Registers or updates metadata for a namespace.static voidremoveDebugListener(@Nullable MagicPlaceholders.PlaceholderDebugListener listener) Removes a debug listener.static voidRemoves a placeholder listener.static Stringrender(PlaceholderContext context, String text) Resolves placeholders inside a string using the provided context.static StringResolves placeholders inside a string for an audience.static StringResolves placeholders inside a string with inline replacements.static StringResolves a placeholder value.resolveResult(String namespace, String key, @Nullable Audience audience, @Nullable String argument) Resolves a placeholder value with error details.static voidsetDebugListener(@Nullable MagicPlaceholders.PlaceholderDebugListener listener) Sets a debug listener for placeholder resolution events.static voidunregister(String namespace, String key) Unregisters a placeholder resolver.static voidunregisterGlobal(String key) Unregisters a global placeholder resolver.
-
Method Details
-
registerNamespace
public static MagicPlaceholders.NamespaceMeta registerNamespace(String namespace, @Nullable @Nullable String author, @Nullable @Nullable String version) Registers or updates metadata for a namespace.- Parameters:
namespace- namespace idauthor- namespace authorversion- namespace version- Returns:
- metadata instance for the namespace
-
getNamespaceMeta
Returns metadata for the namespace, creating it if missing.- Parameters:
namespace- namespace id- Returns:
- metadata instance for the namespace
-
register
public static void register(String namespace, String key, MagicPlaceholders.PlaceholderResolver resolver) Registers a placeholder resolver.- Parameters:
namespace- namespace idkey- placeholder keyresolver- resolver implementation
-
registerGlobal
Registers a global placeholder resolver (no namespace).- Parameters:
key- placeholder keyresolver- resolver implementation
-
registerLocal
public static void registerLocal(Object ownerKey, String key, MagicPlaceholders.PlaceholderResolver resolver) Registers a local placeholder resolver scoped to an owner.- Parameters:
ownerKey- owner scope keykey- placeholder keyresolver- resolver implementation
-
unregister
-
unregisterGlobal
Unregisters a global placeholder resolver.- Parameters:
key- placeholder key
-
clearLocal
Removes all local placeholders for an owner.- Parameters:
ownerKey- owner scope key
-
get
@Nullable public static @Nullable MagicPlaceholders.PlaceholderResolver get(String namespace, String key) Returns the resolver for a placeholder key.- Parameters:
namespace- namespace idkey- placeholder key- Returns:
- resolver or null if missing
-
resolveResult
public static MagicPlaceholders.PlaceholderResult resolveResult(String namespace, String key, @Nullable @Nullable Audience audience, @Nullable @Nullable String argument) Resolves a placeholder value with error details.- Parameters:
namespace- namespace idkey- placeholder keyaudience- optional audienceargument- optional argument- Returns:
- result containing value and error details
-
resolve
public static String resolve(String namespace, String key, @Nullable @Nullable Audience audience, @Nullable @Nullable String argument) Resolves a placeholder value.- Parameters:
namespace- namespace idkey- placeholder keyaudience- optional audienceargument- optional argument- Returns:
- resolved value or empty string on failure
-
render
Resolves placeholders inside a string using the provided context.- Parameters:
context- placeholder contexttext- input text- Returns:
- resolved text
-
render
-
render
-
entries
public static Map<MagicPlaceholders.PlaceholderKey, MagicPlaceholders.PlaceholderResolver> entries()Returns a snapshot of registered placeholders.- Returns:
- copy of the placeholder map
-
keysForNamespace
Returns placeholder keys within a namespace.- Parameters:
namespace- namespace id- Returns:
- list of placeholder keys
-
namespaces
-
addListener
Adds a placeholder listener.- Parameters:
listener- listener to add
-
addWeakListener
Adds a placeholder listener as a weak reference.- Parameters:
listener- listener to add
-
removeListener
Removes a placeholder listener.- Parameters:
listener- listener to remove
-
clearListeners
public static void clearListeners()Clears all registered listeners. -
setDebugListener
public static void setDebugListener(@Nullable @Nullable MagicPlaceholders.PlaceholderDebugListener listener) Sets a debug listener for placeholder resolution events.- Parameters:
listener- debug listener (null disables)
-
addDebugListener
public static void addDebugListener(@Nullable @Nullable MagicPlaceholders.PlaceholderDebugListener listener) Adds a debug listener for placeholder resolution events.- Parameters:
listener- debug listener to add
-
removeDebugListener
public static void removeDebugListener(@Nullable @Nullable MagicPlaceholders.PlaceholderDebugListener listener) Removes a debug listener.- Parameters:
listener- listener to remove
-
clearAll
public static void clearAll()Clears all registered placeholders, namespaces, and listeners.Intended for test teardown or hot-reload scenarios.
-
audienceFromUuid
-