// Path: src/main/java/me/alb_i986/selenium/tinafw/ui/WebPage.java
// public interface WebPage {
// 
// 	/**
// 	 * @see Config#getBaseUrl()
// 	 */
// 	public final static String BASE_URL = Config.getBaseUrl();
// 	
// 
// 	/**
// 	 * @see WebDriver#getTitle()
// 	 */
// 	public String getTitle();
// 
// 	/**
// 	 * @see WebDriver#getCurrentUrl()
// 	 */
// 	public String getCurrentUrl();
// 
// }


import me.alb_i986.selenium.tinafw.ui.LoadablePage;
import me.alb_i986.selenium.tinafw.ui.LoginPage;
import me.alb_i986.selenium.tinafw.ui.WebPage;
package me.alb_i986.selenium.tinafw.tasks;


/**
 * Task implementing a step for navigating to the {@link LoginPage}
 * and logging in by entering username and password.
 * <p>
 * Concrete subclasses need to define the method {@link #loginPageClass()},
 * which is supposed to return a concrete {@link LoginPage} class.
 *
 */
public abstract class ImLoggedInBase extends NavigationWebTask {

	/**
	 * Browse to the login page and do the login.
	 * 
	 * @param noPage this param won't be considered: may be null
	 */
	@Override
// Path: src/main/java/me/alb_i986/selenium/tinafw/ui/WebPage.java
// public interface WebPage {
// 
// 	/**
// 	 * @see Config#getBaseUrl()
// 	 */
// 	public final static String BASE_URL = Config.getBaseUrl();
// 	
// 
// 	/**
// 	 * @see WebDriver#getTitle()
// 	 */
// 	public String getTitle();
// 
// 	/**
// 	 * @see WebDriver#getCurrentUrl()
// 	 */
// 	public String getCurrentUrl();
// 
// }


// Path: src/main/java/me/alb_i986/selenium/tinafw/tasks/ImLoggedInBase.java
import me.alb_i986.selenium.tinafw.ui.LoadablePage;
import me.alb_i986.selenium.tinafw.ui.LoginPage;
import me.alb_i986.selenium.tinafw.ui.WebPage;

package me.alb_i986.selenium.tinafw.tasks;


/**
 * Task implementing a step for navigating to the {@link LoginPage}
 * and logging in by entering username and password.
 * <p>
 * Concrete subclasses need to define the method {@link #loginPageClass()},
 * which is supposed to return a concrete {@link LoginPage} class.
 *
 */
public abstract class ImLoggedInBase extends NavigationWebTask {

	/**
	 * Browse to the login page and do the login.
	 * 
	 * @param noPage this param won't be considered: may be null
	 */
	@Override
	public WebPage run(WebPage noPage) {