[REFACTORING] Pre-compile ContentLocationFieldImpl REGEX
Using String::replaceAll leads to recompile the regex on each calls.
diff --git a/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java b/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java
index 790dae1..aa27b00 100644
--- a/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java
+++ b/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java
@@ -20,6 +20,7 @@
package org.apache.james.mime4j.field;
import java.io.StringReader;
+import java.util.regex.Pattern;
import org.apache.james.mime4j.codec.DecodeMonitor;
import org.apache.james.mime4j.dom.FieldParser;
@@ -32,6 +33,7 @@
* Represents a <code>Content-Location</code> field.
*/
public class ContentLocationFieldImpl extends AbstractField implements ContentLocationField {
+ private static final Pattern PATTERN = Pattern.compile("\\s");
private boolean parsed = false;
private String location;
@@ -56,7 +58,7 @@
* remaining material is the URL string.
* Read more: http://www.faqs.org/rfcs/rfc2017.html#ixzz0aufO9nRL
*/
- location = parser.parse().replaceAll("\\s", "");
+ location = PATTERN.matcher(parser.parse()).replaceAll("");
} catch (ParseException ex) {
parseException = ex;
}