View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.html;
16  
17  import java.net.URL;
18  import java.util.List;
19  
20  import org.htmlunit.Page;
21  import org.htmlunit.RefreshHandler;
22  
23  /**
24   * A handler for page refreshes that logs the refreshes but doesn't actually
25   * perform any refreshes.
26   *
27   * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
28   * @author Daniel Gredler
29   */
30  public class LoggingRefreshHandler implements RefreshHandler {
31      private final List<Object> list_;
32  
33      /**
34       * @param list the list to add data to
35       */
36      public LoggingRefreshHandler(final List<Object> list) {
37          list_ = list;
38      }
39  
40      /**
41       * Logs the requested refresh, but does not actually refresh anything.
42       * @param page the page that is going to be refreshed
43       * @param url the URL where the new page will be loaded
44       * @param seconds the number of seconds to wait before reloading the page
45       */
46      @Override
47      public void handleRefresh(final Page page, final URL url, final int seconds) {
48          list_.add(((HtmlPage) page).getTitleText());
49          list_.add(url);
50          list_.add(Integer.valueOf(seconds));
51      }
52  }