1   package com.atlassian.pageobjects.component;
2   
3   import com.atlassian.pageobjects.Page;
4   
5   /**
6    * Header component to be implemented via an override by the products
7    */
8   public interface Header
9   {
10      /**
11       * @return true if a user is logged in, false otherwise.
12       */
13      boolean isLoggedIn();
14  
15      /**
16       * Logs out the user if currently logged in and sends the browser to the next page.
17       *
18       * @param nextPage The next page to visit, which may involve changing the URL.  Cannot be null.
19       * @param <M>      The page type
20       * @return The next page, fully loaded and initialized.
21       */
22      <M extends Page> M logout(Class<M> nextPage);
23  }