/******************************************************************************* * Copyright (c) 2011 Miami-Dade County. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v2.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * Miami-Dade County - initial API and implementation ******************************************************************************/ package org.sharegov.cirm.search.solr; import java.util.ArrayList; public class QueryOr extends ArrayList<QueryExpression> implements QueryExpression { private static final long serialVersionUID = -1960387205448538799L; public static QueryOr make(QueryExpression...expressions) { QueryOr qo = new QueryOr(); for (QueryExpression exp : expressions) if (exp != null) qo.add(exp); return qo; } public String toString() { if (isEmpty()) return ""; else if (size() == 1) return get(0).toString(); StringBuilder sb = new StringBuilder(); sb.append("("); for (int i = 0; i < size(); i++) { sb.append(get(i).toString()); if (i < size() - 1) { sb.append(SearchQuery.SPACE); sb.append("OR"); sb.append(SearchQuery.SPACE); } } sb.append(")"); return sb.toString(); } }