com.ephesoft.dcma.gwt.admin.bm.client.view.email.EditEmailView.java Source code

Java tutorial

Introduction

Here is the source code for com.ephesoft.dcma.gwt.admin.bm.client.view.email.EditEmailView.java

Source

/********************************************************************************* 
* Ephesoft is a Intelligent Document Capture and Mailroom Automation program 
* developed by Ephesoft, Inc. Copyright (C) 2010-2012 Ephesoft Inc. 
* 
* This program is free software; you can redistribute it and/or modify it under 
* the terms of the GNU Affero General Public License version 3 as published by the 
* Free Software Foundation with the addition of the following permission added 
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK 
* IN WHICH THE COPYRIGHT IS OWNED BY EPHESOFT, EPHESOFT DISCLAIMS THE WARRANTY 
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. 
* 
* This program is distributed in the hope that it will be useful, but WITHOUT 
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
* FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more 
* details. 
* 
* You should have received a copy of the GNU Affero General Public License along with 
* this program; if not, see http://www.gnu.org/licenses or write to the Free 
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
* 02110-1301 USA. 
* 
* You can contact Ephesoft, Inc. headquarters at 111 Academy Way, 
* Irvine, CA 92617, USA. or at email address info@ephesoft.com. 
* 
* The interactive user interfaces in modified source and object code versions 
* of this program must display Appropriate Legal Notices, as required under 
* Section 5 of the GNU Affero General Public License version 3. 
* 
* In accordance with Section 7(b) of the GNU Affero General Public License version 3, 
* these Appropriate Legal Notices must retain the display of the "Ephesoft" logo. 
* If the display of the logo is not reasonably feasible for 
* technical reasons, the Appropriate Legal Notices must display the words 
* "Powered by Ephesoft". 
********************************************************************************/

package com.ephesoft.dcma.gwt.admin.bm.client.view.email;

import com.ephesoft.dcma.gwt.admin.bm.client.AdminConstants;
import com.ephesoft.dcma.gwt.admin.bm.client.i18n.BatchClassManagementConstants;
import com.ephesoft.dcma.gwt.admin.bm.client.presenter.email.EditEmailPresenter;
import com.ephesoft.dcma.gwt.core.client.View;
import com.ephesoft.dcma.gwt.core.client.i18n.LocaleDictionary;
import com.ephesoft.dcma.gwt.core.client.validator.ValidatableWidget;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;

/**
 * This class provides functionality to edit email.
 * 
 * @author Ephesoft
 * @version 1.0
 * @see com.ephesoft.dcma.gwt.core.client.View
 */
public class EditEmailView extends View<EditEmailPresenter> {

    /**
     * UI binder.
     */
    interface Binder extends UiBinder<VerticalPanel, EditEmailView> {
    }

    /**
     * userNameLabel Label.
     */
    @UiField
    protected Label userNameLabel;

    /**
     * userNameStar Label.
     */
    @UiField
    protected Label userNameStar;

    /**
     * userName TextBox.
     */
    @UiField
    protected TextBox userName;

    /**
     * passwordLabel Label.
     */
    @UiField
    protected Label passwordLabel;

    /**
     * passwordStar Label.
     */
    @UiField
    protected Label passwordStar;

    /**
     * password TextBox.
     */
    @UiField
    protected TextBox password;

    /**
     * serverNameLabel Label.
     */
    @UiField
    protected Label serverNameLabel;

    /**
     * serverNameStar Label.
     */
    @UiField
    protected Label serverNameStar;

    /**
     * serverName TextBox.
     */
    @UiField
    protected TextBox serverName;

    /**
     * serverTypeLabel Label.
     */
    @UiField
    protected Label serverTypeLabel;

    /**
     * serverTypeStar Label.
     */
    @UiField
    protected Label serverTypeStar;

    /**
     * serverType TextBox.
     */
    @UiField
    protected TextBox serverType;

    /**
     * folderNameLabel Label.
     */
    @UiField
    protected Label folderNameLabel;

    /**
     * folderNameStar Label.
     */
    @UiField
    protected Label folderNameStar;

    /**
     * folderName TextBox.
     */
    @UiField
    protected TextBox folderName;

    /**
     * isSSLLabel Label.
     */
    @UiField
    protected Label isSSLLabel;

    /**
     * isSSL CheckBox.
     */
    @UiField
    protected CheckBox isSSL;

    /**
     * portNumberLabel Label.
     */
    @UiField
    protected Label portNumberLabel;

    /**
     * portNumberStar Label.
     */
    @UiField
    protected Label portNumberStar;

    /**
     * portNumber TextBox.
     */
    @UiField
    protected TextBox portNumber;

    /**
     * saveButton Button.
     */
    @UiField
    protected Button saveButton;

    /**
     * cancelButton Button.
     */
    @UiField
    protected Button cancelButton;

    /**
     * scrollPanel ScrollPanel.
     */
    @UiField
    protected ScrollPanel scrollPanel;

    /**
     * validateUserNameTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validateUserNameTextBox;

    /**
     * validatePasswordTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validatePasswordTextBox;

    /**
     * validateServerNameTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validateServerNameTextBox;

    /**
     * validateServerTypeTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validateServerTypeTextBox;

    /**
     * validateFolderNameTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validateFolderNameTextBox;

    /**
     * validatePortNumberTextBox ValidatableWidget<TextBox>.
     */
    private ValidatableWidget<TextBox> validatePortNumberTextBox;

    /**
     * editEmailViewPanel VerticalPanel.
     */
    @UiField
    protected VerticalPanel editEmailViewPanel;

    /**
     * Instantiates a class via deferred binding.
     */
    private static final Binder BINDER = GWT.create(Binder.class);

    public EditEmailView() {
        super();
        initWidget(BINDER.createAndBindUi(this));
        saveButton.setText(AdminConstants.OK_BUTTON);
        cancelButton.setText(AdminConstants.CANCEL_BUTTON);
        saveButton.setHeight(AdminConstants.BUTTON_HEIGHT);
        cancelButton.setHeight(AdminConstants.BUTTON_HEIGHT);

        createValidatableWidgets();

        editEmailViewPanel.setSpacing(BatchClassManagementConstants.FIVE);

        userNameLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.USERNAME)
                + AdminConstants.COLON);
        passwordLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.PASSWORD)
                + AdminConstants.COLON);
        serverNameLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.SERVER_NAME)
                + AdminConstants.COLON);
        serverTypeLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.SERVER_TYPE)
                + AdminConstants.COLON);
        folderNameLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.FOLDER_NAME)
                + AdminConstants.COLON);
        isSSLLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.ISSSL)
                + AdminConstants.COLON);
        portNumberLabel.setText(LocaleDictionary.get().getConstantValue(BatchClassManagementConstants.PORTNUMBER)
                + AdminConstants.COLON);

        userNameStar.setText(AdminConstants.STAR);
        passwordStar.setText(AdminConstants.STAR);
        serverNameStar.setText(AdminConstants.STAR);
        serverTypeStar.setText(AdminConstants.STAR);
        folderNameStar.setText(AdminConstants.STAR);
        portNumberStar.setText(AdminConstants.STAR);
        portNumberStar.setVisible(Boolean.FALSE);

        userNameLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        passwordLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        serverNameLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        serverTypeLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        folderNameLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        isSSLLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);
        portNumberLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE);

        userNameStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        passwordStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        serverNameStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        serverTypeStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        folderNameStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        portNumberStar.setStyleName(AdminConstants.FONT_RED_STYLE);
        scrollPanel.setStyleName(AdminConstants.SCROLL_PANEL_HEIGHT);

        isSSL.addValueChangeHandler(new ValueChangeHandler<Boolean>() {

            @Override
            public void onValueChange(ValueChangeEvent<Boolean> event) {
                portNumberStar.setVisible(event.getValue());
            }
        });

    }

    /**
     * To get Port Number Star.
     * 
     * @return Label
     */
    public Label getPortNumberStar() {
        return portNumberStar;
    }

    /**
     * To perform operations on Save Click.
     * 
     * @param clickEvent ClickEvent
     */
    @UiHandler("saveButton")
    public void onSaveClicked(ClickEvent clickEvent) {
        presenter.onSave();
    }

    /**
     * To perform operations on cancel Click.
     * 
     * @param clickEvent ClickEvent
     */
    @UiHandler("cancelButton")
    public void onCancelClicked(ClickEvent clickEvent) {
        presenter.onCancel();
    }

    /**
     * To set User name.
     * 
     * @param name String
     */
    public void setUsername(String name) {
        this.userName.setValue(name);
    }

    /**
     * To get User name.
     * 
     * @return String
     */
    public String getUsername() {
        return this.userName.getValue();
    }

    /**
     * To set Password.
     * 
     * @param password String
     */
    public void setPassword(String password) {
        this.password.setValue(password);
    }

    /**
     * To get Password.
     * 
     * @return String
     */
    public String getPassword() {
        return this.password.getValue();
    }

    /**
     * To get Server Name.
     * 
     * @return String
     */
    public String getServerName() {
        return this.serverName.getValue();
    }

    /**
     * To set Server Name.
     * 
     * @param serverName String
     */
    public void setServerName(String serverName) {
        this.serverName.setValue(serverName);
    }

    /**
     * To get Server Type.
     * 
     * @return String
     */
    public String getServerType() {
        return serverType.getValue();
    }

    /**
     * To set Server Type.
     * 
     * @param serverType String
     */
    public void setServerType(String serverType) {
        this.serverType.setValue(serverType);
    }

    /**
     * To get Folder Name.
     * 
     * @return String
     */
    public String getFolderName() {
        return folderName.getValue();
    }

    /**
     * To set Folder Name.
     * 
     * @param folderName String
     */
    public void setFolderName(String folderName) {
        this.folderName.setValue(folderName);
    }

    /**
     * To get Validate UserName TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidateUserNameTextBox() {
        return validateUserNameTextBox;
    }

    /**
     * To get Validate Password TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidatePasswordTextBox() {
        return validatePasswordTextBox;
    }

    /**
     * To get Validate Server Name TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidateServerNameTextBox() {
        return validateServerNameTextBox;
    }

    /**
     * To get Validate Server Type TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidateServerTypeTextBox() {
        return validateServerTypeTextBox;
    }

    /**
     * To get Validate Folder Name TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidateFolderNameTextBox() {
        return validateFolderNameTextBox;
    }

    /**
     * To get Validate Port Number TextBox.
     * 
     * @return ValidatableWidget<TextBox>
     */
    public ValidatableWidget<TextBox> getValidatePortNumberTextBox() {
        return validatePortNumberTextBox;
    }

    /**
     * To get User Name TextBox.
     * 
     * @return TextBox
     */
    public TextBox getUserNameTextBox() {
        return this.userName;
    }

    /**
     * To get Password TextBox.
     * 
     * @return TextBox
     */
    public TextBox getPasswordTextBox() {
        return this.password;
    }

    /**
     * To get Server Name TextBox.
     * 
     * @return TextBox
     */
    public TextBox getServerNameTextBox() {
        return this.serverName;
    }

    /**
     * To get Server Type TextBox.
     * 
     * @return TextBox
     */
    public TextBox getServerTypeTextBox() {
        return this.serverType;
    }

    /**
     * To get Folder Name TextBox.
     * 
     * @return TextBox
     */
    public TextBox getFolderNameTextBox() {
        return this.folderName;
    }

    /**
     * To create Validatable Widgets.
     */
    public final void createValidatableWidgets() {
        validateUserNameTextBox = new ValidatableWidget<TextBox>(userName);
        validateUserNameTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validateUserNameTextBox.toggleValidDateBox();
            }
        });

        validatePasswordTextBox = new ValidatableWidget<TextBox>(password);
        validatePasswordTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validatePasswordTextBox.toggleValidDateBox();
            }
        });

        validateServerNameTextBox = new ValidatableWidget<TextBox>(serverName);
        validateServerNameTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validateServerNameTextBox.toggleValidDateBox();
            }
        });

        validateServerTypeTextBox = new ValidatableWidget<TextBox>(serverType);
        validateServerTypeTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validateServerTypeTextBox.toggleValidDateBox();
            }
        });

        validateFolderNameTextBox = new ValidatableWidget<TextBox>(folderName);
        validateFolderNameTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validateFolderNameTextBox.toggleValidDateBox();
            }
        });

        validatePortNumberTextBox = new ValidatableWidget<TextBox>(portNumber);
        validatePortNumberTextBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                validatePortNumberTextBox.toggleValidDateBox();
            }
        });
    }

    /**
     * To get Is SSL.
     * 
     * @return Boolean
     */
    @SuppressWarnings("deprecation")
    public Boolean getIsSSL() {
        return this.isSSL.isChecked();
    }

    /**
     * To get Port Number.
     * 
     * @return String
     */
    public String getPortNumber() {
        return portNumber.getText();
    }

    /**
     * To set SSL.
     * 
     * @param isSSL2 Boolean
     */
    @SuppressWarnings("deprecation")
    public void setSSL(Boolean isSSL2) {
        this.isSSL.setChecked(isSSL2);
    }

    /**
     * To set Port Number.
     * 
     * @param portNumber2 String
     */
    public void setPortNumber(String portNumber2) {
        this.portNumber.setText(portNumber2);
    }

    /**
     * To get Port Number TextBox.
     * 
     * @return TextBox
     */
    public TextBox getPortNumberTextBox() {
        return this.portNumber;
    }

    /**
     * To get Port Number Label.
     * 
     * @return String
     */
    public String getPortNumberLabel() {
        return this.portNumberLabel.getText();
    }

}