Class HelpFilters
java.lang.Object
studio.mevera.imperat.command.tree.help.HelpFilters
Factory class providing common help filters.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <S extends Source>
HelpFilter<S>all()Creates a filter that always passes (includes all nodes).static <S extends Source>
HelpFilter<S>allOf(HelpFilter<S>... filters) Creates a composite filter from multiple filters (AND logic).static <S extends Source>
HelpFilter<S>anyOf(HelpFilter<S>... filters) Creates a composite filter from multiple filters (OR logic).static <S extends Source>
HelpFilter<S>Creates a filter that excludes command nodes (only arguments).static <S extends Source>
@NotNull HelpFilter<S>static <S extends Source>
HelpFilter<S>commands()Creates a filter that only includes command nodes.static <S extends Source>
HelpFilter<S>depth(int minDepth, int maxDepth) Creates a filter based on node depth.static <S extends Source>
HelpFilter<S>Creates a filter that only includes executable nodes.static <S extends Source>
HelpFilter<S>hasPermission(S source, CommandHelp<S> help) Creates a filter that checks if a source has permission for the node.static <S extends Source>
HelpFilter<S>hasPermission(S source, Context<S> context) Creates a filter that checks if a source has permission for the node.static <S extends Source>
HelpFilter<S>hasPermission(S source, PermissionChecker<S> checker) Creates a filter that checks if a source has permission for the node.static <S extends Source>
HelpFilter<S>nameContains(String substring) Creates a filter that matches node names containing a substring.static <S extends Source>
HelpFilter<S>nameMatches(String pattern) Creates a filter that matches node names against a pattern.static <S extends Source>
HelpFilter<S>none()Creates a filter that never passes (excludes all nodes).static <S extends Source>
HelpFilter<S>Creates a filter that only includes nodes without any permission requirement.static <S extends Source>
HelpFilter<S>optional()Creates a filter for optional parameters only.static <S extends Source>
HelpFilter<S>required()Creates a filter for required parameters only.static <S extends Source>
HelpFilter<S>withPermission(String permission) Creates a filter that only includes nodes with a specific permission.
-
Method Details
-
executable
Creates a filter that only includes executable nodes. -
commands
Creates a filter that only includes command nodes. -
arguments
Creates a filter that excludes command nodes (only arguments). -
depth
Creates a filter based on node depth.- Parameters:
minDepth- minimum depth (inclusive)maxDepth- maximum depth (inclusive)
-
hasPermission
public static <S extends Source> HelpFilter<S> hasPermission(S source, PermissionChecker<S> checker) Creates a filter that checks if a source has permission for the node.- Parameters:
source- the source to check permissions forchecker- the permission checker
-
hasPermission
Creates a filter that checks if a source has permission for the node.- Parameters:
source- the source to check permissions forcontext- the context.
-
hasPermission
Creates a filter that checks if a source has permission for the node.- Parameters:
source- the source to check permissions forhelp- the command help.
-
withPermission
Creates a filter that only includes nodes with a specific permission.- Parameters:
permission- the required permission
-
noPermission
Creates a filter that only includes nodes without any permission requirement. -
nameMatches
Creates a filter that matches node names against a pattern.- Parameters:
pattern- regex pattern to match
-
nameContains
Creates a filter that matches node names containing a substring.- Parameters:
substring- the substring to search for (case-insensitive)
-
optional
Creates a filter for optional parameters only. -
required
Creates a filter for required parameters only. -
all
Creates a filter that always passes (includes all nodes). -
none
Creates a filter that never passes (excludes all nodes). -
allOf
Creates a composite filter from multiple filters (AND logic).- Parameters:
filters- the filters to combine
-
anyOf
Creates a composite filter from multiple filters (OR logic).- Parameters:
filters- the filters to combine
-
childrenOnly
-