From 1c1245a711edc27c696c299c00f8a10480bdf748 Mon Sep 17 00:00:00 2001 From: benwoo1110 <30431861+benwoo1110@users.noreply.github.com> Date: Sun, 7 Mar 2021 16:26:50 +0800 Subject: [PATCH] Add docs for ContentFilter class. --- .../displaytools/ContentFilter.java | 49 +++++++++++++++---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/onarandombox/MultiverseCore/displaytools/ContentFilter.java b/src/main/java/com/onarandombox/MultiverseCore/displaytools/ContentFilter.java index 46350f7c..db258968 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/displaytools/ContentFilter.java +++ b/src/main/java/com/onarandombox/MultiverseCore/displaytools/ContentFilter.java @@ -9,7 +9,11 @@ import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; /** - * Filter content and text based on regex. + *

Filter content and text based on regex matching.

+ * + *

Compile regex pattern based on {@link ContentFilter#filterString}. When prefixed with 'r=', + * use {@link ContentFilter#filterString} as the full regex pattern. Else, set to any match that + * contains the {@link ContentFilter#filterString}.

*/ public class ContentFilter { @@ -20,13 +24,20 @@ public class ContentFilter { private Pattern filterPattern; private boolean exactMatch; - public ContentFilter() { + private ContentFilter() { } + /** + * @param filterString The text to do matching, either plaintext or regex. + */ public ContentFilter(@NotNull String filterString) { this(filterString, false); } + /** + * @param filterString The text to do matching, else plaintext or regex. + * @param exactMatch Should check for exact match when doing regex matching. + */ public ContentFilter(@NotNull String filterString, boolean exactMatch) { @@ -35,11 +46,6 @@ public class ContentFilter { parseFilter(); } - /** - * Compile regex pattern based on {@link ContentFilter#filterString}. - * When prefixed with 'r=', use {@link ContentFilter#filterString} as the full regex pattern. - * Else, set to any match that contains the {@link ContentFilter#filterString}. - */ private void parseFilter() { if (filterString == null) { return; @@ -54,6 +60,8 @@ public class ContentFilter { /** * Compile and store the regex into a {@link Pattern}. + * + * @param regex The regex text. */ private void convertToMatcher(@NotNull String regex) { try { @@ -84,22 +92,43 @@ public class ContentFilter { : filterPattern.matcher((CharSequence) text).find(); } + /** + * Checks if a filter string is present. + * + * @return True if there is a filter string, else false. + */ public boolean hasFilter() { return filterString != null; } + /** + * Checks if regex pattern syntax is valid. + * + * @return True if valid, else false. + */ public boolean hasValidPattern() { return filterPattern != null; } - public @Nullable String getString() { + /** + * @return The filter string. + */ + @Nullable + public String getString() { return filterString; } - public @Nullable Pattern getPattern() { + /** + * @return The regex pattern. + */ + @Nullable + public Pattern getPattern() { return filterPattern; } + /** + * @return True if filter is set to do exact matching, else false. + */ public boolean isExactMatch() { return exactMatch; } @@ -107,7 +136,7 @@ public class ContentFilter { /** * Nicely format the filter string to be used for showing the sender. * - * @return formatted filter string. + * @return The formatted filter string. */ public @NotNull String getFormattedString() { return String.format("%sFilter: '%s'%s", ChatColor.ITALIC, filterString, ChatColor.RESET);