menumanager: reuse perfectly fine Matcher instances (#1275)

This commit is contained in:
Lucwousin
2019-08-07 17:06:19 +02:00
committed by Ganom
parent 31bad19dd7
commit 28a4d753c2
4 changed files with 22 additions and 7 deletions

View File

@@ -24,8 +24,11 @@
*/
package net.runelite.api;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
@@ -83,4 +86,18 @@ public class MenuEntry
src.isForceLeftClick()
);
}
private static final Matcher TAG_REGEXP = Pattern.compile("<[^>]*>").matcher("");
@Getter(lazy = true)
private final String standardizedOption = standardize(option);
@Getter(lazy = true)
private final String standardizedTarget = standardize(LEVEL_MATCHER.reset(target).replaceAll(""));
public String standardize(String string)
{
return TAG_REGEXP.reset(string).replaceAll("").replace('\u00A0', ' ').trim();
}
private static final Matcher LEVEL_MATCHER = Pattern.compile("\\(level-[0-9]*\\)").matcher("");
}