/* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. * * Copyright @ 2015 Atlassian Pty Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.java.sip.communicator.service.gui; /** * The <tt>WizardPage</tt> represents a page in a <tt>WizardContainer</tt>. * A page has a unique identifier. Each page should specify the identifier * of both next and previous page to be displayed when user clicks "Next" * or "Back" wizard button. These identifiers will be used from the * <tt>WizardContainer</tt> to determine, which page should be displayed * when the "Next" wizard button is clicked and which when "Back" is clicked. * <p> * In the construction of an account registration wizard container the UI * Service implementation could implement this interface to define * a Default wizard page and a Summary page. Each * <tt>AccountRegistrationWizard</tt> could obtain the identifier of both * Default and Summary page from the corresponding * <tt>AccountRegistrationWizardContainer</tt>, where it is added. * <p> * The predefined FINISH_PAGE_IDENTIFIER should be used to mark the end of * a wizard. * * @author Yana Stamcheva */ public interface WizardPage { /** * The identifier of the last wizard page. */ String FINISH_PAGE_IDENTIFIER = "FINISH"; /** * The identifier of the summary wizard page. */ String SUMMARY_PAGE_IDENTIFIER = "SUMMARY"; /** * The identifier of the default wizard page. * <p> * At the time of this writing, it seems from its current uses that the * constant indicates a <tt>null</tt> back page. * </p> */ String DEFAULT_PAGE_IDENTIFIER = "DEFAULT"; /** * Returns the identifier of this <tt>WizardPage</tt>. * * @return the identifier of this <tt>WizardPage</tt> */ public Object getIdentifier(); /** * Returns the identifier of the next wizard page. Meant to be used by * the <tt>WizardContainer</tt> to determine which is the next page to * display when user clicks on the "Next" wizard button.<p> * When this instance corresponds to the last page of the wizard this * method should return <tt>WizardPage.FINISH_PAGE_IDENTIFIER</tt> * * @return the identifier of the next wizard page */ public Object getNextPageIdentifier(); /** * Returns the identifier of the previous wizard page. Meant to be used by * the <tt>WizardContainer</tt> to determine which is the page to display * when user clicks on the "Back" wizard button. * * @return the identifier of the prevoious wizard page */ public Object getBackPageIdentifier(); /** * Returns the user interface form represented by this page. The form should * be developed by using a library that is supported from current UI Service * implementation. For example if the current UI Service implementation is * made usind Java Swing, this method should return a java.awt.Component to * be added properly in the <tt>WizardContainer</tt> implemented in UI * Service implementation. * * @return the user interface form represented by this page */ public Object getWizardForm(); /** * Invoked when this <tt>WizardPage</tt> will be hidden eighter because * the user has clicked "Back" or "Next". This method should be invoked * from the <tt>WizardContainer</tt> implementation just before this page * is hidden when replacing it with the previous or the next one. * <p> * You should add here all operations you need to be executed when this * <tt>WizardPage</tt> is about to be hidden. */ public void pageHiding(); /** * Invoked when this <tt>WizardPage</tt> is shown to the user and has * become the current wizard page. This method should be invoked from the * <tt>WizardContainer</tt> implementation just after this page is shown * to the user. * <p> * You should add here all operations you need to be executed when this * <tt>WizardPage</tt> is shown. */ public void pageShown(); /** * Invoked when this <tt>WizardPage</tt> will be shown eighter because * the user has clicked "Back" on the next wizard page or "Next" on the * previous one. This method should be invoked from the * <tt>WizardContainer</tt> implementation just before this page * is shown to the user. * <p> * You should add here all operations you need to be executed when this * <tt>WizardPage</tt> is about to be shown. */ public void pageShowing(); /** * Invoked when user clicks on the "Next" wizard button. You should add * here all operations you need to be executed when user clicks "Next" on * this <tt>WizardPage</tt>. */ public void commitPage(); /** * Invoked when user clicks on the "Back" wizard button. You should add * here all operations you need to be executed when user clicks "Back" on * this <tt>WizardPage</tt>. */ public void pageBack(); }