| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Just a note that some arguments use a raw type as their T generic parameter. For example, MapArgument<K, V> extends Argument<LinkedHashMap> rather than Argument<LinkedHashMap<K, V>> If MapArgument did extend Argument<LinkedHashMap<K, V>>, then the getPrimitiveType method would have to return a Class<LinkedHashMap<K, V>> object, which Java doesn't like very much: https://stackoverflow.com/questions/1079279/class-object-of-generic-class-java. That just means this code has a little warning: MapArgument<String, Integer> argument = new MapArgumentBuilder<String, Integer>("map")
.withKeyMapper(s -> s)
.withValueMapper(s -> Integer.parseInt(s))
.withoutKeyList()
.withoutValueList()
.build();
new CommandAPICommand("command")
.withArguments(argument)
.executes(info -> {
// Type safety: The expression of type LinkedHashMap needs unchecked conversion to conform to Map<String,Integer>
Map<String, Integer> map = info.args().getByArgument(argument);
info.sender().sendMessage(map.toString());
})
.register();This note might also be relevant for #545. It's not a big problem, but the two systems don't currently work perfectly for these arguments: |
Sorry, something went wrong.
|
True, but if I am not mistaken, this is the best we can do here. |
Sorry, something went wrong.
There was a problem hiding this comment.
A couple of minor documentation changes and code linting tweaks (avoid the use of variables which declared non-final and are only ever used once). A critical change required for PRIMITIVE_TO_WRAPPER
Sorry, something went wrong.
…or an index is used
| Back | FazBrowse Home | New Git URL |
This PR is supposed to implement certain methods as suggested by Hawk here and by #535.
Currently, there is a bit more testing I want to do, additionally I am not sure if this would actually be something we want.
If so, there is a bit more work required: