2 * Copyright 2005 the original author or authors.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.wamblee.crawler.impl;
19 import org.apache.commons.httpclient.NameValuePair;
20 import org.dom4j.Element;
21 import org.wamblee.crawler.Action;
22 import org.wamblee.crawler.Crawler;
23 import org.wamblee.crawler.Page;
24 import org.wamblee.crawler.PageException;
25 import org.wamblee.crawler.PageType;
28 * Action implementation.
30 public class ActionImpl implements Action {
32 private Crawler _crawler;
34 private Element _content;
38 private String _reference;
40 private PageType _type;
42 private NameValuePair[] _parameters;
45 * Constructs the action.
50 * Content of the action element in the page where the action
55 * URL of the reference.
56 * @param aParameters Parameters to use for the action.
58 public ActionImpl(Crawler aCrawler, Element aContent, String aName,
59 String aReference, NameValuePair[] aParameters) {
63 _reference = aReference;
65 _parameters = aParameters;
69 * Constructs the action.
74 * Content of the action element in the page where the action
79 * URL of the reference.
81 * Type of the referenced page.
82 * @param aParameters Parameters to use.
84 public ActionImpl(Crawler aCrawler, Element aContent, String aName,
85 String aReference, PageType aType, NameValuePair[] aParameters) {
89 _reference = aReference;
91 _parameters = aParameters;
97 * @see org.wamblee.crawler.Action#getName()
99 public String getName() {
106 * @see org.wamblee.crawler.Action#execute()
108 public Page execute() throws PageException {
110 return _crawler.getPage(_reference, _parameters);
112 return _crawler.getPage(_reference, _parameters, _type);
118 * @see org.wamblee.crawler.Action#getContent()
120 public Element getContent() {
125 * @see java.lang.Object#equals(java.lang.Object)
128 public boolean equals(Object obj) {
129 if ( !(obj instanceof ActionImpl )) {
132 ActionImpl action = (ActionImpl)obj;
133 return _reference.equals(action._reference) &&
134 _type.equals(action._type);