43 lines
1.2 KiB
Java
43 lines
1.2 KiB
Java
package envoy.util;
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
/**
|
|
* Implements contact name validation.
|
|
* <p>
|
|
* Project: <strong>envoy-common</strong><br>
|
|
* File: <strong>Bounds.java</strong><br>
|
|
* Created: <strong>25.06.2020</strong><br>
|
|
*
|
|
* @author Kai S. K. Engelbart
|
|
* @since Envoy Common v0.1-beta
|
|
*/
|
|
public final class Bounds {
|
|
|
|
private Bounds() {}
|
|
|
|
/**
|
|
* The regular expression against which contact names should be validated.
|
|
*
|
|
* @since Envoy Common v0.1-beta
|
|
*/
|
|
public static final Pattern CONTACT_NAME_PATTERN = Pattern.compile("^\\w[a-zA-Z0-9-]{2,15}$");
|
|
|
|
// KAI: Trust of Chain - das berühmte Konzept aus der Kryptographie
|
|
|
|
/**
|
|
* @param contactName the contact name to validate
|
|
* @return {@code true} if the given contact name is valid
|
|
* @since Envoy Common v0.1-beta
|
|
*/
|
|
public static boolean isValidContactName(String contactName) { return CONTACT_NAME_PATTERN.matcher(contactName).matches(); }
|
|
|
|
/**
|
|
* @return the maximum size allowed for a user/ group name.
|
|
* @apiNote has to be updated manually if {@link Bounds#CONTACT_NAME_PATTERN}
|
|
* gets updated.
|
|
* @since Envoy Common v0.1-beta
|
|
*/
|
|
public static int maximumUsernameSize() { return 16; }
|
|
}
|