package org.mdl4ui.fields.sample.editor; import org.mdl4ui.base.model.FieldID; import org.mdl4ui.fields.model.Field; import org.mdl4ui.fields.model.component.PasswordField; import org.mdl4ui.fields.model.event.FieldEvent; import org.mdl4ui.fields.model.validation.FieldValidation; import org.mdl4ui.fields.sample.InjectSampleEditor; import org.mdl4ui.fields.sample.OnField; import org.mdl4ui.fields.sample.context.SampleContext; import org.mdl4ui.fields.sample.i18n.ValidationMessages; import org.mdl4ui.ui.sample.EFieldSample; @InjectSampleEditor(@OnField(EFieldSample.PASSWORD)) public class PasswordEditor extends SampleEditor { private final ValidationMessages messages; public PasswordEditor(ValidationMessages messages) { this.messages = messages; } @Override public String value(FieldID field, SampleContext context, FieldEvent fieldEvent) { return context.getUserAccount().getPassword(); } @Override public void updateFromContext(Field field, SampleContext context, FieldEvent fieldEvent) { PasswordField textbox = field.getComponent(); textbox.setValue(context.getUserAccount().getPassword()); } @Override public void updateContext(Field field, SampleContext context, FieldEvent fieldEvent) { PasswordField textbox = field.getComponent(); context.getUserAccount().setPassword(textbox.getValue()); } @Override public FieldValidation validate(Field field, SampleContext context, FieldEvent fieldEvent) { PasswordField textbox = field.getComponent(); if (textbox.isEmpty()) { return error(field, messages.please_specify_your_password()); } return valid(field); } }