2020-06-26 21:40:30 +02:00
|
|
|
package envoy.util;
|
|
|
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
/**
|
2020-09-27 12:06:01 +02:00
|
|
|
* Implements contact name validation.
|
|
|
|
*
|
2020-06-26 21:40:30 +02:00
|
|
|
* @author Kai S. K. Engelbart
|
|
|
|
* @since Envoy Common v0.1-beta
|
|
|
|
*/
|
2020-08-22 13:37:07 +02:00
|
|
|
public final class Bounds {
|
2020-06-26 21:40:30 +02:00
|
|
|
|
|
|
|
private Bounds() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The regular expression against which contact names should be validated.
|
2020-06-27 17:36:03 +02:00
|
|
|
*
|
2020-06-26 21:40:30 +02:00
|
|
|
* @since Envoy Common v0.1-beta
|
|
|
|
*/
|
|
|
|
public static final Pattern CONTACT_NAME_PATTERN = Pattern.compile("^\\w[a-zA-Z0-9-]{2,15}$");
|
|
|
|
|
2020-07-15 21:48:06 +02:00
|
|
|
// KAI: Trust of Chain - das berühmte Konzept aus der Kryptographie
|
|
|
|
|
2020-06-26 21:40:30 +02:00
|
|
|
/**
|
|
|
|
* @param contactName the contact name to validate
|
|
|
|
* @return {@code true} if the given contact name is valid
|
|
|
|
* @since Envoy Common v0.1-beta
|
|
|
|
*/
|
2020-10-19 18:17:51 +02:00
|
|
|
public static boolean isValidContactName(String contactName) {
|
|
|
|
return CONTACT_NAME_PATTERN.matcher(contactName).matches();
|
|
|
|
}
|
2020-06-27 17:36:03 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return the maximum size allowed for a user/ group name.
|
2020-10-19 18:17:51 +02:00
|
|
|
* @apiNote has to be updated manually if {@link Bounds#CONTACT_NAME_PATTERN} gets updated.
|
2020-06-27 17:36:03 +02:00
|
|
|
* @since Envoy Common v0.1-beta
|
|
|
|
*/
|
2020-10-19 18:17:51 +02:00
|
|
|
public static int maximumUsernameSize() {
|
|
|
|
return 16;
|
|
|
|
}
|
2020-06-26 21:40:30 +02:00
|
|
|
}
|