@Override public final void setCheckTime(final CheckTimeEnum pcheckTime) throws RuntimeException { checkHandlerSet(); checkTime = pcheckTime; }
@Override public void flush() { if (list != null) { list.flush(); } }
@Override public EditorVisitor createInitializerVisitor() { return new BeanValidationInitializer(commitOnReturnHandler, validateOnKeyUpHandler, validateOnVueChangeHandler, valueChangeHandler, checkTime, submitOnReturn); }
@Override public final boolean validate() { boolean valid = false; final T object = flush(); if (!hasErrors()) { setConstraintViolations(validateContent(object)); valid = !hasErrors(); } if (submitButton instanceof HasEnabled && checkTime != CheckTimeEnum.ON_SUBMIT) { ((HasEnabled) submitButton).setEnabled(valid && (submitUnchanged || isDirty())); } return valid; }
@Override public final boolean tryToSubmitFrom(final boolean pdirty) { boolean result = false; if ((submitUnchanged || pdirty) && validate()) { if (!submitUnchanged) { // edit changed values, so dirty flag is gone and no useless resubmission is done edit(getObject(), false); } FormSubmitEvent.fire(this, getObject()); result = true; } return result; }
@Override public final boolean tryToSubmitFrom() { return tryToSubmitFrom(isDirty()); }
/** * set parent editor driver. * * @param pparentDriver BeanValidationEditorDriver to set */ public final void setParentDriver(final BeanValidationEditorDriver<?, ?> pparentDriver) { asEditor().setParentDriver(pparentDriver); }
@Override public String getPathElement(final E subEditor) { return "[" + list.getEditors().indexOf(subEditor) + "]"; }
/** * Create a ListEditor backed by an EditorSource. * * @param <T> The type of data being managed * @param <E> The type of Editor * @param source the EditorSource which will create sub-Editors * @return a new instance of ListEditor */ public static <T, E extends Editor<? super T>> ListValidationEditor<T, E> of( // NOPMD final EditorSource<E> source) { return new ListValidationEditor<>(source); }
@Override public void edit(final T object) { edit(object, checkTime != CheckTimeEnum.ON_SUBMIT); }
@Override public void initialize(final E editor) { doInitialize(editor); }
private void edit(final T object, final boolean pcheck) { super.doEdit(object); if (pcheck) { validate(); } }
@Override public final void setSubmitButton(final Widget psubmitButton) { submitButton = psubmitButton; if (submitButton instanceof HasClickHandlers) { ((HasClickHandlers) submitButton).addClickHandler(pevent -> tryToSubmitFrom()); } }
@Override public final HandlerRegistration addValueChangeHandler(final ValueChangeHandler<T> phandler) { return ensureHandlers().addHandler(ValueChangeEvent.getType(), phandler); }
@Override public final void setSubmitOnReturn(final boolean psubmitOnReturn) throws RuntimeException { checkHandlerSet(); submitOnReturn = psubmitOnReturn; }
@Override protected EditorVisitor createInitializerVisitor() { if (parentDriver != null) { return parentDriver.createInitializerVisitor(); } return new BeanValidationInitializer(null, null, null, null, null, false); } }
/** * set parent editor driver. * * @param pparentDriver BeanValidationEditorDriver to set */ public final void setParentDriver(final BeanValidationEditorDriver<?, ?> pparentDriver) { asEditor().setParentDriver(pparentDriver); }
/** * Returns an unmodifiable, live view of the Editors managed by the ListEditor. * <p> * The returned list will be live until the next call to {@link #setValue(List)} and shouldn't be * used after that. Editors might (or might not) be reused after a call to * {@link #setValue(List)}. * </p> * <p> * If there is no backing list, an empty list will be returned. * </p> * * @return a List of {@link Editor Editors} of type E */ public List<E> getEditors() { if (list == null) { return Collections.emptyList(); } return Collections.unmodifiableList(list.getEditors()); }
@Override public final void setCheckOnKeyUp(final boolean pcheckOnKeyUp) throws RuntimeException { checkHandlerSet(); if (pcheckOnKeyUp) { checkTime = CheckTimeEnum.ON_KEY_UP; } else { checkTime = CheckTimeEnum.ON_CHANGE; } }