package com.google.zxing.client.result;
+import com.google.zxing.Result;
+
/**
* Represents a result that encodes an e-mail address, either as a plain address
* like "joe@example.org" or a mailto: URL like "mailto:joe@example.org".
private final String emailAddress;
- public EmailAddressResult(String rawText) {
+ private EmailAddressResult(String emailAddress) {
super(ParsedReaderResultType.EMAIL_ADDRESS);
+ this.emailAddress = emailAddress;
+ }
+
+ public static EmailAddressResult parse(Result result) {
+ String rawText = result.getText();
+ String emailAddress;
if (rawText.startsWith("mailto:")) {
// If it starts with mailto:, assume it is definitely trying to be an email address
emailAddress = rawText.substring(7);
} else {
if (!EmailDoCoMoResult.isBasicallyValidEmailAddress(rawText)) {
- throw new IllegalArgumentException("Invalid email address: " + rawText);
+ return null;
}
emailAddress = rawText;
}
+ return new EmailAddressResult(emailAddress);
}
public String getEmailAddress() {