Class ArgumentHandler

    • Constructor Detail

      • ArgumentHandler

        public ArgumentHandler​(Menu menu,
                               Map<String,​Object> section)
        Create a new handler
        Parameters:
        menu - the menu
    • Method Detail

      • process

        public Optional<String[]> process​(UUID uuid,
                                          String[] args)
        Description copied from interface: ArgumentProcessor
        Process the arguments
        Specified by:
        process in interface ArgumentProcessor
        Parameters:
        uuid - the UUID of the player
        args - the arguments
        Returns:
        the remaining arguments, or empty if the arguments are invalid
      • tabComplete

        public Pair<Optional<List<String>>,​String[]> tabComplete​(UUID uuid,
                                                                       String[] args)
        Description copied from interface: ArgumentProcessor
        Get the tab complete for the arguments
        Specified by:
        tabComplete in interface ArgumentProcessor
        Parameters:
        uuid - the UUID of the player
        args - the arguments
        Returns:
        A pair of the optional suggestions and the remaining arguments. The optional suggestions can be null if the processor should be skipped, then the remaining arguments will be used for the next processor
      • handleTabComplete

        public List<String> handleTabComplete​(UUID uuid,
                                              String[] args)
        Get the tab complete for the arguments
        Parameters:
        uuid - the UUID of the player
        args - the arguments
        Returns:
        the suggestions
      • getMenu

        public Menu getMenu()
        Description copied from interface: MenuElement
        Get the menu containing the element
        Specified by:
        getMenu in interface MenuElement
        Returns:
        the menu