SearchRequest.java
- package gov.usgs.earthquake.indexer;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- /**
- * A search request, which is one or more {@link SearchQuery}s.
- */
- public class SearchRequest implements Comparable<SearchRequest> {
- private final List<SearchQuery> queries = new LinkedList<SearchQuery>();
- /** Construct a new SearchRequest. */
- public SearchRequest() {
- }
- /**
- * Add another query to this request.
- *
- * @param query
- * the query to add
- */
- public void addQuery(final SearchQuery query) {
- this.queries.add(query);
- }
- /**
- * @return The list of queries that are part of this request.
- */
- public List<SearchQuery> getQueries() {
- return this.queries;
- }
- @Override
- public boolean equals(Object that) {
- return (this.compareTo((SearchRequest) that)) == 0;
- }
- @Override
- public int compareTo(SearchRequest that) {
- int r;
- // test list size first
- if ((r = (this.queries.size() - that.queries.size())) != 0) {
- return r;
- }
- Iterator<SearchQuery> thisIter = this.queries.iterator();
- Iterator<SearchQuery> thatIter = that.queries.iterator();
- while (thisIter.hasNext() && thatIter.hasNext()) {
- r = thisIter.next().compareTo(thatIter.next());
- if (r != 0) {
- return r;
- }
- }
- return 0;
- }
- }