Class DataObjectResolver
java.lang.Object
io.github.kaktushose.jdac.message.resolver.DataObjectResolver
- All Implemented Interfaces:
Resolver<DataObject>
Resolver implementation that is capable of resolving JDAs DataObject.
Will traverse the DataObject down to every textual JSON node and will resolve all the fields that were configured
at the constructor.
DataObject object = DataObject.fromJson("""
{
"resolve": "my-key",
"skip": "not resolved"
}
""");
DataObjectResolver objectResolver = new DataObjectResolver(messageResolver, Set.of("resolve"));
object = objectResolver.resolve(object, Locale.ENGLISH, Map.of());
Note that many JDA objects can be directly serialized as and deserialized from a DataObject.
-
Constructor Summary
ConstructorsConstructorDescriptionDataObjectResolver(Resolver<String> resolver, Set<String> fields) Constructs a new DataObjectResolver. -
Method Summary
-
Constructor Details
-
DataObjectResolver
-
-
Method Details
-
resolve
public DataObject resolve(DataObject object, Locale locale, Map<String, @Nullable Object> placeholders) Resolves aDataObject.- Specified by:
resolvein interfaceResolver<DataObject>- Parameters:
object- theDataObjectto resolvelocale- theLocaleto use for localizationplaceholders- the placeholders to use if supported by the used StringResolver- Returns:
- the resolved
DataObject
-