package rocks.inspectit.shared.cs.cmr.property.configuration.validator.impl; import javax.xml.bind.annotation.XmlRootElement; import org.apache.commons.lang.StringUtils; import rocks.inspectit.shared.cs.cmr.property.configuration.SingleProperty; import rocks.inspectit.shared.cs.cmr.property.configuration.validator.AbstractSinglePropertyValidator; import rocks.inspectit.shared.cs.cmr.property.configuration.validator.ISinglePropertyValidator; /** * Is FQN validator. * * @author Ivan Senic * */ @XmlRootElement(name = "isFullyQualifiedClassName") public class FullyQualifiedClassNameValidator extends AbstractSinglePropertyValidator<String> implements ISinglePropertyValidator<String> { /** * {@inheritDoc} */ @Override protected boolean prove(String value) { return StringUtils.isNotEmpty(value) && value.matches("([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*"); } /** * {@inheritDoc} */ @Override protected String getErrorMessage(SingleProperty<? extends String> property) { return "Value of property '" + property.getName() + "' must be a fully qualified class name"; } }