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 * @author Erik Brakkee
32 public class ActionImpl implements Action {
34 private Crawler _crawler;
36 private Element _content;
40 private String _reference;
42 private PageType _type;
44 private NameValuePair[] _parameters;
47 * Constructs the action.
52 * Content of the action element in the page where the action
57 * URL of the reference.
58 * @param aParameters Parameters to use for the action.
60 public ActionImpl(Crawler aCrawler, Element aContent, String aName,
61 String aReference, NameValuePair[] aParameters) {
65 _reference = aReference;
67 _parameters = aParameters;
71 * Constructs the action.
76 * Content of the action element in the page where the action
81 * URL of the reference.
83 * Type of the referenced page.
84 * @param aParameters Parameters to use.
86 public ActionImpl(Crawler aCrawler, Element aContent, String aName,
87 String aReference, PageType aType, NameValuePair[] aParameters) {
91 _reference = aReference;
93 _parameters = aParameters;
99 * @see org.wamblee.crawler.Action#getName()
101 public String getName() {
108 * @see org.wamblee.crawler.Action#execute()
110 public Page execute() throws PageException {
112 return _crawler.getPage(_reference, _parameters);
114 return _crawler.getPage(_reference, _parameters, _type);
120 * @see org.wamblee.crawler.Action#getContent()
122 public Element getContent() {
127 * @see java.lang.Object#equals(java.lang.Object)
130 public boolean equals(Object obj) {
131 if ( !(obj instanceof ActionImpl )) {
134 ActionImpl action = (ActionImpl)obj;
135 return _reference.equals(action._reference) &&
136 _type.equals(action._type);