private TextField<String> getEmailTextField() { if (emailTextField == null) { emailTextField = new TextField<String>(); emailTextField.setEnabled(false); emailTextField.setWidth(""); emailTextField.setFieldLabel("Email"); emailTextField.setValidator( new Validator() { public String validate(Field<?> field, String value) { if (field == emailTextField) { if (!emailTextField .getValue() .toLowerCase() .matches( "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])")) { return "Bad E-mail Address"; } } return null; } }); } return emailTextField; }
public void set(XObject input) { if (input instanceof XGroup) { XGroup group = (XGroup) input; name.setValue(group.getName()); description.setValue(translateDescription(group.getDescription())); if (group != null && group.getName() != null && (group.getName().equals("admin") || group.getName().equals("editor") || group.getName().equals("creator") || group.getName().equals("viewer") || group.getName().equals("poweruser") || group.getName().equals("publisher"))) { name.setEnabled(false); description.setEnabled(false); } else { name.setEnabled(true); description.setEnabled(true); } } }