package envoy.util; import java.util.regex.Pattern; /** * Implements contact name validation. *
* Project: envoy-common
* File: Bounds.java
* Created: 25.06.2020
*
* @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; }
}